PDO pass by reference notice?

Viewed 5430

This:

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

yields this:

Runtime notice
Only variables should be passed by reference

though it still executes.

This:

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

runs without complaint.

I don't understand the difference?

4 Answers
Related