在我的 HTML 代码中,有一个带有选项的选择和一个打开对话框的按钮,允许用户添加到选项列表 [通过 DB/PHP/jQuery]。
在他们输入数据库中已经存在的选项的情况下,我想捕获MySQL Duplicate Key
错误并使用它来触发代码,以找到与用户输入的内容相匹配的选项,并为他们选择它。
mysqli::$errno returns 1062
,当我使用原始数字时,我的代码效果很好。
但是,如果该数字在未来的更新中发生变化怎么办?我宁愿使用 PHP 安装提供的定义。
PHP Manuel 暗示了这样一个定义:
客户端错误消息编号列在 MySQL errmsg.h 头文件中,服务器错误消息编号列在 mysqld_error.h 中。在 MySQL 源代码分发中,您可以在文件 Docs/mysqld_error.txt 中找到错误消息和错误编号的完整列表。
我找到了具有以下定义的“mysqld_error.txt”文档:
#define ER_DUP_ENTRY 1062
还有以下文档:http ://dev.mysql.com/doc/refman/5.6/en/error-messages-server.html具有相同的定义。
但是,当我尝试在我的 PHP 代码中使用它时,我会收到“使用未定义常量 ER_DUP_ENTRY - 假定为 'ER_DUP_ENTRY' ”的通知。我什至尝试过mysqli::ER_DUP_ENTRY。
任何人都知道不使用数值的方法吗?