Rob*_*ood 26 php mysql error-handling
我有一个PHP表单,它将数据输入我的MySQL数据库.我的主键是用户输入的值之一.当用户输入表中已存在的值时,将返回MySQL错误"密钥1的重复条目输入值".而不是那个错误,我想提醒用户他们需要输入不同的值.只是回应的消息或其他东西.我想我的问题归结为:如何将特定的MySQL错误转换为PHP消息谢谢
编辑:下面的nickf的答案很好,但有没有办法辨别具体的错误?
jen*_*ram 48
要检查此特定错误,您需要找到错误代码.这是1062重复键.然后使用结果errno()来比较:
mysql_query('INSERT INTO ...');
if (mysql_errno() == 1062) {
print 'no way!';
}
Run Code Online (Sandbox Code Playgroud)
关于编程风格的注意事项
你应该总是设法避免使用魔术数字(我知道,我是在这个答案中引入它的人).相反,您可以将已知错误代码(1062)分配给常量(例如MYSQL_CODE_DUPLICATE_KEY).这将使您的代码更容易维护,因为if语句中的条件在几个月内仍然可读,而其含义1062已从内存中消失:)
mysql_query您可以检查插入时的返回值。
$result = mysql_query("INSERT INTO mytable VALUES ('dupe')");
if (!$result) {
echo "Enter a different value";
} else {
echo "Save successful.";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54131 次 |
| 最近记录: |