无法通过引用传递参数2 - PDO

时间:2016-03-19 17:40:27

标签: php sql pdo

我遇到了这个错误:

"无法通过参考"

传递参数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行,即"发件人" line ...我个人认为它是消息行。

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:3)

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();