私は PDO とプリペアド ステートメントを初めて使用し、クエリに複数の値をバインドするのに問題があります。SELECT の作成中に 1 つだけであれば問題ありません。たとえば、次のようになります。
SELECT foo FROM table WHERE id=:something // no problem
しかし、複数、INSERTしようとすると行き詰まります:
Insert INTO mytable (field1, field2) VALUES (:value1, :value2) // No bueno
いくつかの異なる方法を試して、ここの他の投稿を読んでみましたが、うまくいきませんでした. 以下は、私が問題を抱えている例です。
$insertSQL = $db->prepare("INSERT INTO voting_poll (ipaddress, choice)
VALUES (':ipaddress', :value)");
$insertSQL->bindParam(':ipaddress', getenv('REMOTE_ADDR'), PDO::PARAM_STR);
$insertSQL->bindParam(':value', $_POST['radio'], PDO::PARAM_STR);
$insertSQL->execute();
次のエラーが表示されます:パラメーター番号が無効です: バインドされた変数の数がトークンの数と一致しません