我正在开发一个 Drupal 模块。有一个称为货币的表。 currency_code 列设置为 UNIQUE。当我尝试输入重复条目时,drupal 会自动显示如下错误消息:-
.-------------------------------------------------------------------------. | 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())。
有什么方法可以将错误消息字符串保存在变量中,以便我可以在后台解析它并打印自定义消息?
最佳答案
Drupal 的数据库抽象层有一个函数叫做db_error。包装 mysql_errno并返回 MySQL error number最后一个查询。
关于php - Drupal - 如何识别 mysql 错误类型并打印自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4793155/