bindParam(':color'-6ren">
gpt4 book ai didi

php - PDO 通过引用通知?

转载 作者:可可西里 更新时间:2023-11-01 12:29:58 25 4
gpt4 key购买 nike

这个:

$stmt = $dbh->prepare("SELECT thing FROM table WHERE color = :color");
$stmt->bindParam(':color', $someClass->getColor());
$stmt->execute();

产生这个:

Runtime notice
Only variables should be passed by reference

虽然它仍然执行。

这个:

$stmt = $dbh->prepare("SELECT thing FROM table WHERE color = :color");
$tempColor = $someClass->getColor();
$stmt->bindParam(':color',$tempColor);
$stmt->execute();

毫无怨言地运行。

我不明白其中的区别?

最佳答案

PDOStatement::bindParam() 的描述指出它将一个 PHP 变量 绑定(bind)到一个问号或命名占位符。由于您试图传递一个类的方法(即使该方法确实返回一个值)它仍然不是变量名,因此出现警告。您可能希望查看 PDOStatement::bindValue() 以确保您的代码面向 future 。

关于php - PDO 通过引用通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6770850/

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