私はDrupalモジュールを開発しています。通貨という表があります。 currency_code列はUNIQUEに設定されます。私は、重複エントリを入力しようとすると、自動的にDrupalのこのようなエラーメッセージを示しています - もちろん、私は、ユーザーがこのエラーを見てみましょうすることはできませんDrupal - mysqlのエラータイプを特定し、カスタムエラーメッセージを表示する方法
.-------------------------------------------------------------------------. | user warning: Duplicate entry 'USD' for key 'currency_code' | | query: INSERT INTO currency(currency_id, currency_name, currency_code) | | VALUES (NULL, 'US Dollar', 'USD') in /xxx/currency/currency.admin.inc | | on line 106. | .-------------------------------------------------------------------------.
を。その代わりに、エラーの理由を示すカスタムエラーメッセージ(この場合は一意の値の重複)を出力します。だから私の質問は、エラーを引き起こしているものを特定し、ユーザーフレンドリーな方法で表示する方法です(おそらくdrupal_set_message()を使用しています)。
エラーメッセージの文字列を変数に保存する方法はありますか。バックグラウンドで解析し、メッセージを出力する方法はありますか?