我正在更新我的PHPmysqli::而不是使用它,但是mysql_*我遇到了一个INSERT语句问题。我有以下声明:
mysqli::
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错误。
$stmt
mysqli_stmt
我想念什么?
编辑
我确定问题出在bind_param方法上。
bind_param
编辑2
好的,所以PHP给我的错误是这样的:
致命错误:无法在…中通过引用传递参数4
这指向bind_param的行
您不能将常量传递给bind_param。首先将值放在变量中:
$status = "0"; $stmt->bind_param("sss", $oid, $cid, $status); $stmt->execute();