小编典典

MySQLi准备的插入语句失败

sql

我正在更新我的PHPmysqli::而不是使用它,但是mysql_*我遇到了一个INSERT语句问题。我有以下声明:

$stmt = $link->prepare("INSERT INTO `table` (`a`, `b`, `c`) VALUES(?, ?, ?)");
$stmt->bind_param("sss", $a, $b, "0");
$stmt->execute();

我已经检查过了$stmt,这是一个正确的mysqli_stmt对象。它已经准备妥当,但是由于某种原因,该语句将无法执行。我刚从服务器收到500错误。

我想念什么?

编辑

我确定问题出在bind_param方法上。

编辑2

好的,所以PHP给我的错误是这样的:

致命错误:无法在…中通过引用传递参数4

这指向bind_param的行


阅读 174

收藏
2021-04-22

共1个答案

小编典典

您不能将常量传递给bind_param。首先将值放在变量中:

$status = "0";
$stmt->bind_param("sss", $oid, $cid, $status);
$stmt->execute();
2021-04-22