【发布时间】:2015-08-05 05:31:21
【问题描述】:
我无法自己解决问题,希望有人能帮助我。
如果搜索字符串通过 POST 方法解析到它,我的 PHP 代码会准备一个语句,但 postgres 似乎无法识别它。
我收到以下错误:
绑定消息提供 1 个参数,但准备好的语句“filtered_list_query”需要 0 个
这是我的代码:
$query = 'SELECT * FROM public."my_predefined_view" hwm';
if (isset($_POST["searchfilter"])) {
$searchstring = htmlspecialchars($_POST["searchfilter"]);
$query .= " WHERE hwm.hostname LIKE $1";
$query .= ' ORDER BY hwm."IP", hwm.hostname;';
pg_prepare('filtered_list_query', $query);
$result = pg_execute('filtered_list_query', array($searchstring))
or die('Query failed: ' . pg_last_error());
}
我真的不得不忽略一些重大错误,因为这基本上是 php pg_prepare 示例页面中的代码
编辑:
再次感谢您的帮助!
正如我现在了解到的那样,如果我像这样检查 pg_prepare 就不会发生这种情况:(当然使用错误的变量 $query)
pg_prepare('filtered_list_query', $query)
or die ('Preparation failed: ' . pg_last_error());
【问题讨论】:
-
问题是否与您拼错
$queryvar 而是将$querie(未定义?)var 发送到准备函数这一事实有关? -
天啊...谢谢你!!! (有人可以因为尴尬而删除我的问题吗?)
标签: php postgresql prepared-statement