php+mysql插入重复数据的时候抛出异常,能不能捕获异常啊

我的意思能插入就返回true,不能就返回false,但是不能插入的时候,直接显示这个

clipboard.png

负上我的代码:

clipboard.png

阅读 4.7k
2 个回答

自然是可以的。
你可以通过以下三种方式然后再结合你的业务需求进行页面跳转

Ignore:有重复则忽略。

INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) 
VALUES ('test9@163.com', '99999', '9999');

Replace:有重复则删旧数据再增加新数据

REPLACE INTO `table_name`(`col_name`, ...) VALUES (...);
REPLACE INTO `table_name` (`col_name`, ...) SELECT ...;
REPLACE INTO `table_name` SET `col_name`='value'

On duplicate key update:有重复则更新

INSERT INTO `table` (`a`, `b`, `c`) VALUES (1, 2, 3), (4, 5, 6) 
ON DUPLICATE KEY UPDATE `c`=VALUES(`a`)+VALUES(`b`);

推荐文章: MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)

你可以自己把这个Exception Catch,然后返回 true 或 false

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题