Sco*_*ott 2 php prepared-statement
我没有看到错误,希望有人能弄清楚:
public static function createMessage($title, $message, $startDate, $endDate, $author, $status){
//$dbConn is now a mysqli instance with a connection to the database foobar
$dbConn = Database::getConnection("foobar");
$stmt = $dbConn->prepare("INSERT into messages(title, msg, date_start, date_end, app_usersID_FK, date_created, activeflag, msg_status) VALUES (?,?,?,?,?,?,?,?)");
if(!$stmt){
throw new Exception("Unable to prepare the statement");
}
$dt = date("Y-m-d");
$stmt->bind_param("ssssisii", $title, $message, $startDate, $endDate, $author, $dt, 1, $status);
$stmt->execute();
return true;
}
Run Code Online (Sandbox Code Playgroud)
函数调用
MessageCenter :: createMessage("你好","只是打电话来打招呼","2009-09-12","2009-09-12","1","1");
错误消息是:
致命错误:无法通过引用传递参数8
我猜你的bind_param方法实际上是mysqli_stmt::bind_param.如果是:每个参数(第一个除外)必须是通过引用传递的变量,因此它们可以"绑定".
就像手册中说的那样(强调我的):
mysqli_stmt::bind_param-mysqli_stmt_bind_param- 将变量作为参数绑定到预 准备语句
这意味着您无法传递值:您必须使用变量.
Si,在你的情况下,这样的事情应该做:
$my_var = 1;
$stmt->bind_param("ssssisii", $title, $message, $startDate,
$endDate, $author, $dt, $my_var, $status);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1868 次 |
| 最近记录: |