重複の可能性:
PDO 準備済みステートメントから完全なクエリを取得 (またはシミュレート)
PHP で最後に実行されたクエリを取得 PDO
PDO デバッグ - バインド後にクエリを表示?
このPDOException
クラスを使用して、SQL エラーに関するさまざまな情報を取得できます。欠けている部分の 1 つは、エラーの原因となった実際の SQL クエリです。これは、整合性制約違反エラーのトラブルシューティングに役立ちます。パラメーターが挿入された完全なクエリが利用できない場合でも、完全なクエリを再作成できるため、準備されたクエリと渡された配列でexecute()
十分です。私は現在 bindParam() を使用していませんが、execute()
.
エラーの原因となった実際のクエリを表示するにはどうすればよいですか? ありがとうございました
エラー:
SQLSTATE[23000]: 整合性制約違反: 1452 子行を追加または更新できません: 外部キー制約が失敗しました (
website/accounts
, CONSTRAINTfk_accounts_zipcodes1
FOREIGN KEY (zipcodes_id
) REFERENCESzipcodes
(id
) ON DELETE NO ACTION ON UPDATE NO ACTION)
ファイル名: /var/www/ main/components/com_upload/models/contacts.phpLine: 520
エラー発生時刻: 2012 年 10 月 15 日月曜日、7:11:49 PDT
エラーの原因となった SQL:
INSERT INTO アカウント (id、sites_id、name、address、cities_id、zipcodes_id、phone、fax、date_created、date_modified、record_status、vertical_markets_id、priority_id、roles_id) 値 (:id,123,:name,:address,:cities_id,:zipcodes_id) ,:電話,:ファックス,NOW(),NOW(), "アクティブ" ,:vertical_markets_id,:priority_id,:roles_id)