有什么方法可以将参数绑定到此准备好的语句吗?

时间:2019-08-11 14:52:30

标签: php mysqli

"UPDATE rooms SET Donators=CONCAT(SUBSTRING(Donators, 1, CHAR_LENGTH(Donators)-1),' ', '\"?\" : \"?\",}') WHERE Id=?" 

我想将3个变量绑定到该查询字符串,但是问题是,它是前两个?不被视为标记。有什么办法可以将它们视为标记?目前,我收到警告:

  

mysqli_stmt :: bind_param():第62行的C:\ xampp \ htdocs \ main.php中准备好的语句中的变量数量与参数数量不匹配。

1 个答案:

答案 0 :(得分:0)

您不能引用可变锚点。

将您要注入的变量组合到自己的锚点中:

$var1 = 'something';
$var2 = 'something2';
$variableToInject = "$var1 : $var2";

将该变量插入其自己的锚点:

"UPDATE rooms SET Donators=CONCAT(SUBSTRING(Donators, 1, CHAR_LENGTH(Donators)-1),' ',?) WHERE Id=?"