【问题标题】:Is there any way to bind parameters to this prepared statement?有没有办法将参数绑定到这个准备好的语句?
【发布时间】:2019-08-11 14:52:30
【问题描述】:
"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 中准备好的语句中的参数数不匹配。

【问题讨论】:

标签: php mysqli


【解决方案1】:

你不能引用变量锚。

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

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

将该变量注入到它自己的锚中:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2018-07-20
    • 2013-10-05
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多