【发布时间】:2017-06-13 18:56:21
【问题描述】:
你好,我有一个关于 bind_param 的问题,每个代码都有效,但不是这个......可能是愚蠢的问题..
$key = "`".implode("`, `",array_keys($notifikasi))."`";
echo $value = "'".implode("', '",array_values($notifikasi))."'";
$query = $dbcon->prepare("INSERT INTO `notifikasi` ($key) VALUES ($value)");
$query->bind_param("iiiis",$value);
$query->execute();
我已经回显了这个值:
'1','1','2','3','profile.php?confirm=33'
我在 bind_param 上放了任何数字仍然出现此错误:
mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables
谁能回答我的误解?
[编辑]
没关系,我找到了解决方案:
使用 call_user_func_array()
mysqli bind_param for array of strings
谢谢
【问题讨论】:
-
您没有正确绑定参数。查询字符串应包含
?或:foo等占位符,而不是您的实际值。有关示例,请参阅bind_param的文档。 -
我已经阅读了文档,是的,它应该放吗?
所以我将其置于准备状态 (?,?,?,?,?) bind_param (iiiis,$value)。
我的问题与数组有关吗?还是错误