【发布时间】:2018-04-12 07:30:24
【问题描述】:
我想知道是否可以获取在 INSERT 上产生重复错误的列名?
例如,用户名上有一个唯一键,电子邮件上有另一个唯一键:
try{
$pdo->query("INSERT INTO `table`(`username`,`email`)`VALUES('Superman','xxx@xx.com')");
} catch (PDOException $e) {
if($e->errorInfo[0] == '23000' && $e->errorInfo[1] == '1062'){
throw new CustomException("Bla bla already exists");
// How does we get the duplicated column and then display "Email already exists" or "Username already exist"
} else {
throw $e;
}
}
我们如何获取重复的列信息,然后显示“电子邮件已存在”或“用户名已存在”而不是“重复条目(好的,但哪个?)
谢谢,
【问题讨论】:
-
有一种方法可以在数据库中进行选择查询并检查此电子邮件或用户名是否已经存在 id 存在然后打印消息,否则插入数据库
标签: php mysql pdo unique-key