Mysqli准备语句错误

时间:2014-04-25 10:27:54

标签: php mysqli prepared-statement

我对第一次使用mysqli动态参数绑定感到困惑。 我的问题是

 UPDATE tb_hotel SET hotel_name = ?, hotel_overview = ?, hotel_active = ?,
 hotel_location_description = ?, hotel_location_gmap = ?, hotel_cm_mapping_id = ?
 WHERE hotel_id = ?

当我转储传递给call_user_func_array的数组

  array (size=8)
  0 => string 'ssisssi' (length=7)
  1 => &string 'sdfsfdsf' (length=8)
  2 => &string 'sdfdsf' (length=6)
  3 => &int 0
  4 => &string 'dsfdsfds' (length=8)
  5 => &string 'fsdfsdf' (length=7)
  6 => &string 'fsdfdsfsdf' (length=10)
  7 => &int 17

然后我将它们传递给call_user_func_array,就像轰鸣声一样。

call_user_func_array(array($stmt, 'bind_param'), $param_array_bind);

我收到错误"警告:mysqli_stmt :: bind_param():类型定义字符串中的元素数量与"

中的绑定变量数量不匹配

任何人都可以对我有所了解。

1 个答案:

答案 0 :(得分:0)

你在MySQL代码中放了7个字段,你的数组有8个元素。这就是问题。