我一直在尝试学习准备好的语句,以便我们可以开始在我们的 PHP 站点中实现它们。此函数使用 $_POST 传输方法从搜索表单上的文本框中获取值(或无),然后使用这些文本框的名称和值将条件添加到 WHERE 子句。该功能以前有效,但我似乎无法使准备好的语句起作用。
研究了几个脚本,我开始使用下面的一个并解决了一些错误。现在当我运行它时,我得到错误错误参数计数 mysqli_stmt::bind_param()
运行此查询后,我想将值导出到表中,并且在尝试准备好的语句之前正在工作。
这是我到目前为止的代码:
<?php
$db = mysqli_connec("ip_address", "loginname", "password", "database");
$refs = array('sssss');
foreach ($_POST as $key => $value)
{
$refs[] =& $_POST[$key];
}
$query = "SELECT col1, col2, col3, col4, col5 FROM tbl_name WHERE 1=1";
foreach ($_POST as $k => $v)
{
if(!empty($v)) {
$query .= " AND $k = ?";
$params[$k] = $v;
}
}
$results = $db->prepare($query);
call_user_func_array(array($results, 'bind_param'), $refs);
$results->execute();
?>