如何捕获PHP中的重复键存在错误以处理mySQL唯一键索引约束?

如何捕获PHP中的重复键存在错误以处理mySQL唯一键索引约束?,php,mysql,exception-handling,duplicates,Php,Mysql,Exception Handling,Duplicates,好的,我也有一个问题-我有一个mysql数据库和PHP页面。我正在向数据库提交一个表单,它已经检查了空字符串,并在有错误时突出显示字段等 但在其中一个字段(特别是用户名)上,我需要检查它是否已经存在于DB的Col_1中,如果为TRUE,则在不提交表单的情况下抛出错误警报,如果为FALSE,则检查已经验证的表单提交 所以我真正的问题是。。。(也可能是m3tsys)。。。这真的是: 有没有办法onBlur/onChange/onSubmit(所有这些都可以阻止表单向DB提交数据)我的表单字段来检查D

好的,我也有一个问题-我有一个mysql数据库和PHP页面。我正在向数据库提交一个表单,它已经检查了空字符串,并在有错误时突出显示字段等

但在其中一个字段(特别是用户名)上,我需要检查它是否已经存在于DB的Col_1中,如果为TRUE,则在不提交表单的情况下抛出错误警报,如果为FALSE,则检查已经验证的表单提交

所以我真正的问题是。。。(也可能是m3tsys)。。。这真的是:

有没有办法onBlur/onChange/onSubmit(所有这些都可以阻止表单向DB提交数据)我的表单字段来检查DB中是否存在,然后抛出警报

或者

有没有其他人能想到的更简单的方法?我知道我越想越复杂,对不起。

使用AJAX


更改用户名字段时,调用PHP脚本检查用户名是否存在。如果存在,请在页面上显示错误。如果不知道,它是可用的。

如果我不懂Ajax,我会做一些类似的事情,检查该值是否存在。如果它存在,我手动生成一种情况,在这种情况下,我会得到一个php错误,例如$error='haveduplicatekey$your_column';然后在你想显示错误的地方回显

我知道的第二个方法是,在重复键中,php生成一个名为

  on duplicate key
我会抓住它,展示我上面提到的东西。但到目前为止,我不知道如何才能抓住这个错误。也许mysqli_error()在这里很有用:)

更新

之前只需检查列是否有记录,以及是否有记录 如果找到记录{ 用户已退出 }否则{ 它是一个新用户
}

这是你的答案。ajax就是为类似这样的事情而设计的。