gpt4 book ai didi

php - 准备好的语句按引用传递错误

转载 作者:行者123 更新时间:2023-12-03 23:49:24 25 4
gpt4 key购买 nike

我没有看到错误,希望有人能解决这个问题:

 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;
}

函数调用

MessageCenter::createMessage("你好", "只是打电话来打个招呼", "2009-09-12", "2009-09-12", "1", "1");

错误消息是:

fatal error :无法通过引用传递参数 8

最佳答案

我猜你的 bind_param 方法实际上是 mysqli_stmt::bind_param 。如果是:每个参数(第一个参数除外)必须是通过引用传递的变量,因此它们可以“绑定(bind)”。

就像手册上所说的(强调我的):

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Binds variables to a prepared statement as parameters


这意味着您无法传递值:您必须使用变量。

Si,就你的情况而言,应该这样做:

$my_var = 1;
$stmt->bind_param("ssssisii", $title, $message, $startDate,
$endDate, $author, $dt, $my_var, $status);

关于php - 准备好的语句按引用传递错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1369644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com