gpt4 book ai didi

php - 使用 PDO 准备好的语句插入 fatal error

转载 作者:行者123 更新时间:2023-11-29 07:33:16 25 4
gpt4 key购买 nike

我正在尝试使用这样的准备好的语句插入值:

$dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO user_table (first_name, last_name) VALUES (:tname, :tname2)";
$stmt = $dbh->prepare($sql);
$stmt -> bindParam(':tname', 'John');
$stmt -> bindParam(':tname2', 'Smith');
$stmt -> execute();

但是,这会引发 fatal error :“PHP fatal error :无法在第 53 行/Applications/MAMP/htdocs/live/test_create.php 中通过引用传递参数 2”这是指此行:$stmt -> bindParam(':tname', 'John');

是什么导致了这个问题?

最佳答案

使用bindParam时,必须通过引用传递。

使用 bindValue 来代替,因为您在这里尝试使用它。

有关 bindValuebindParam 的更多信息 here

如果您坚持使用bindParam,则必须将其作为变量提供。因此,您可以使用 $var1="John" 然后使用 $stmt->bindParam(':tname',$var1);

关于php - 使用 PDO 准备好的语句插入 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31845490/

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