Это:
$stmt = $dbh->prepare("SELECT thing FROM table WHERE color = :color");
$stmt->bindParam(':color', $someClass->getColor());
$stmt->execute();
дает следующее:
Замечание во время выполнения
Только переменные должны передаваться через ссылка
, хотя она все еще выполняется.
Это:
$stmt = $dbh->prepare("SELECT thing FROM table WHERE color = :color");
$tempColor = $someClass->getColor();
$stmt->bindParam(':color',$tempColor);
$stmt->execute();
выполняется без жалоб.
Я не понимаю разницы?