call_user_func_array() - 警告:mysqli_stmt::bind_param():变量数与准备语句中的参数数不匹配
call_user_func_array() - Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
我正在尝试使用数组动态绑定参数。这是我的代码的一部分,它很重要,还显示了调试信息:
$params = array_merge( array( $one ), array_values( $two ) );
echo '<pre>';
echo $query . '<br><br>';
print_r( $params );
call_user_func_array( array( &$stmt, 'bind_param' ), MakeValuesReferenced( $params ) );
这是调试信息:
如您所见,我的查询中有三个问号,bind_param 中添加了三个参数。我认为这应该有效。我做错了什么?
您不能引用占位符,这使得它成为文字值而不是占位符。将时间移动到绑定中,并保留占位符。
例如
where thedateandtime between ? and ?
然后在绑定
($date . ' 00:00:00')
您也无法绑定列,因此应更改 order
by。在将值传递到查询之前使用白名单比较这些值。
我正在尝试使用数组动态绑定参数。这是我的代码的一部分,它很重要,还显示了调试信息:
$params = array_merge( array( $one ), array_values( $two ) );
echo '<pre>';
echo $query . '<br><br>';
print_r( $params );
call_user_func_array( array( &$stmt, 'bind_param' ), MakeValuesReferenced( $params ) );
这是调试信息:
如您所见,我的查询中有三个问号,bind_param 中添加了三个参数。我认为这应该有效。我做错了什么?
您不能引用占位符,这使得它成为文字值而不是占位符。将时间移动到绑定中,并保留占位符。
例如
where thedateandtime between ? and ?
然后在绑定
($date . ' 00:00:00')
您也无法绑定列,因此应更改 order
by。在将值传递到查询之前使用白名单比较这些值。