我遇到此错误:
"无法通过引用传递参数 2"
我查找了几个线程,实际上没有一个解决方案对我有用,这可能是一个非常愚蠢的错误/类型..?
$stmt = $dbh->prepare("INSERT INTO messages (message, sender, key) VALUES (:message, :sender, :key)");
$stmt -> bindParam(':message', $message);
$stmt -> bindParam(':sender', 'Smith');
$stmt -> bindParam(':key', 'Test-Key');
$stmt -> execute();
这是我的代码。错误指向第 32 行,即"发件人"行...我个人认为是消息行。
谢谢你的帮助! :)
bindParam()
方法将参数绑定到变量。字符串就是所谓的常量。
为了使这项工作,您必须将一个变量传递给该方法,如下所示:
// Prepare the statement
$stmt = $dbh->prepare("INSERT INTO messages (message, sender, key) VALUES (:message, :sender, :key)");
// Bind variables to the parameters
$stmt->bindParam(':message', $message);
$stmt->bindParam(':sender', $sender);
$stmt->bindParam(':key', $key);
// Give the bound variables a value
$message = 'The message...';
$sender = 'Smith';
$key = 'Test-Key';
// And then execute the statement
$stmt->execute();