PHP MySQL 有没有办法从错误中获取列键

标签 php mysql database error-handling

我正在为一个网站创建一个注册系统。 MySQL 数据库具有独特的字段,因此用户不能使用同一电子邮件、用户名或电话号码创建多个帐户。当数据被复制时,使用 mysqli_error() 返回错误,例如键“EMAIL”的重复条目“email@example.com”,错误代码为 1062。我想做的是让用户返回输入不同的电子邮件地址、用户名或电话号码,为此我在这种情况下,需要列的 KEY 'EMAIL' 是否有任何方法可以从发回的错误中执行此操作。 谢谢

最佳答案

你应该像这样在插入之前得到检查查询:

SELECT * FROM TABLE WHERE email = '$email' OR phone = '$phone' OR username = '$username'

然后你可以进行简单的检查并抛出异常/错误。

关于PHP MySQL 有没有办法从错误中获取列键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36550886/

相关文章:

php - 在 PHP 中转义 MySQL 查询 - mysql_query() 更新不执行任何操作

php - 结构化 JSON 布局

php - MySQL 锁定系统

来自 SELECT 语句的 MySQL 存储过程变量

mysql - 用于选择美国多个州的模式设计,或 "all"

python - Django Model() 与 Model.objects.create()

sql - 使用 sql 从行中计算字符串值?

php - 创建相互依赖的对象

php - 为什么不应该在 Symfony 中使用绝对路径常量 __DIR__ 和 __FILE__

mysql - 没有外键约束的 "key"是什么?