1
我有一些相似(但不完全相同)的sql语句。每个调用的参数类型都不相同,所以我想将它们作为变量传递。例如:在mysqli中使用变量bind_param
$stmt->bind_param($typeString, $parameter1, $parameter1);
其中$ typeString可以设置为'ss'或'is'或'ds'。
我得到的错误类型定义字符串中的元素数量与绑定变量的数量不匹配。
我曾尝试(例如)
$typeString = "is";
$typeString = "\'".$typeString."\'";
$stmt->bind_param($typeString, $parameter1, $parameter1);
而且
$typeString = "is";
$stmt->bind_param($typeString, $parameter1, $parameter1);
但仍得到一个错误。
是否可以用变量设置它?
sql statment在哪里?永远不要绑定变量两次,你使用'$ parameter1'两次。 – JustOnUnderMillions
而你只是一次绑定:http://stackoverflow.com/questions/15748254/how-to-run-the-bind-param-statement-in-php#15748384然后重新填充参数变量并再次执行。如果可能的话,总是使用's'作为参数。 – JustOnUnderMillions
_数量相似(但不相同)的sql语句_所以如果你有2个sql语句,那么你也有2个mysqli stmt对象(每个stmt)。所以这里没有什么应该混淆的 – JustOnUnderMillions