我有一个提交表单,当用户尝试使用重复条目提交时,它会返回MySQL错误#1062。例如,错误说明:
Duplicate entry 'graphics' for key 'name'
我想给用户一个自定义消息,解释(用简单的英语)他们为什么会收到错误,以及导致错误的具体条目。例如:
"Graphics" is a duplicate entry and should not be used. Please remove it and resubmit the form."
密钥将始终为“名称”,但重复条目本身通常会有所不同。我需要能够从生成的MySQL错误中提取该特定值,然后将自定义消息包装在其周围。怎么可以这样做?
答案 0 :(得分:4)
您可以尝试进行简单的错误检查,如果发生mysql错误,则向用户显示错误消息。你可以尝试这样的事情:
$rows = mysql_query("SELECT `name` from `tbl` WHERE `name` = 'graphics';");
if(mysql_num_rows($rows) > 0){
echo '"Graphics" is a duplicate entry and should not be used. Please remove it and resubmit the form.';
}else{
insert...
}
答案 1 :(得分:0)
如果您要插入的项目事先存在,您可以在输入任何数据之前先检查表格。
然后,您可以使用if else循环根据错误打印自定义消息 像
$check_exists = // runs the code here to check if the entry graphics already exists for the existing name
if ($post['name'] == ''){
// error message for blank entry
}elseif($check_exists == true) {
// custom error mesage for duplicate entry
}else {
// submit the form here
}