и тогда ваш код будет выглядеть примерно так:
$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();
работает без нареканий.
Я не понимаю разницу?