PDOでSELECTをprepareで打つとき

特にWhere句に文字列を渡すようなときだとbindParam、bindValueじゃだめらしい。
?で変数箇所を指定して、その順番に配列で値を渡すようにする。
このあたりJavaと一緒だ。

$stmt = $pdo->prepare("SELECT * FROM test where name = ? and color = ?");
$stmt -> execute(array("hoge", "red"));
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    echo implode(", ", $row) . PHP_EOL;
}