私は、テーブル名と私のMySQLサーバ「ユーザー」にいくつかのデータをプッシュするPDOを使用していて、私は次のエラーを取得しています:SQLSTATE [HY093]:無効なパラメータ番号:パラメータは定義されていませんが、すべて定義されていますか?
[26-Mar-2017 22:18:21 America/Chicago] Could not successfully add user!
[26-Mar-2017 22:18:21 America/Chicago] SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
私は、スタックオーバーフロー上の複数の他の質問を見てきました同じエラーメッセージが表示され、PDOの準備が整い、不一致のパラメータを持って実行されます。しかし、私の準備と実行は一致しているので、何度もチェックしましたが、まだエラーが出ています。ここに私のコード:
$noMusicScore = $data->noMusicScore;
$classicalMusicScore = $data->classicalMusicScore;
$popMusicScore = $data->popMusicScore;
$hiphopMusicScore = $data->hiphopMusicScore;
try
{
$db = new PDO('info here......');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $db->prepare("INSERT INTO User (no-music-score, classical-music-score, pop-music-score, hiphop-music-score)
VALUES (:no-music-score, :classical-music-score, :pop-music-score, :hiphop-music-score)");
$query->execute(array(':no-music-score' => $noMusicScore, ':classical-music-score' => $classicalMusicScore,
':pop-music-score' => $popMusicScore, ':hiphop-music-score' => $hiphopMusicScore));
error_log("Successfully added user!");
}
catch(PDOException $e)
{
error_log("Could not successfully add user!");
error_log($e->getMessage());
}
unset($db, $query);
あなたはこのリンクを読もうとしていますかhttp://stackoverflow.com/questions/5874383/invalid-parameter-number-parameter-was-not-defined-inserting-data –
そのスレッドの回答やコメントはどれも適切ではありませんここに?すべてのパラメータが存在するようです。私はより多くの質問を単純化することを提案します:pop、:classicなど。名前付けに何か問題がないことを確認するだけです。しかし、それは正しいように見えます。 – junkfoodjunkie
'$ query'は、それが必要な質問を提供するかどうかをエコーしますか? –