2
私のPHP/MySQLコードでは、多くのユニークな列キーを持つテーブル(InnoDB)に新しいレコードを挿入します。挿入に失敗した場合(ER_DUP_ENTRYの場合)、I には、どの列の値が一意でないかを知るために、が必要です。mysqlのエラーメッセージを解析する - それは正しい方法ですか?
これを達成するには、取得するエラーメッセージから%dの値を抽出する必要があります。 "キー%dのエントリ '%s'が重複しています。"
これはうまくいくはずですが、解決策が嫌いです。いくつかの文字列を解析/正規表現にマッチさせると、私はいつも避けようとする単純なタスクには複雑さを与えます。今質問:これは正しい方法ですか?もっと良い解決策はありませんか?
エラーメッセージではなくエラーメッセージを意味します。私は主題を変えました。 – spajak
@spajak:それ以外の方法はないと思います。しかし、あなたは 'sprintf'の逆として' sscanf'を試すことができます。 – Gumbo