设置在重复输入尝试唯一字段时导致 php 错误?

Posted

技术标签:

【中文标题】设置在重复输入尝试唯一字段时导致 php 错误?【英文标题】:Setting to cause php error on duplicate entry attempt to unique fields? 【发布时间】:2012-10-01 19:27:03 【问题描述】:

在我们的 php 应用程序中,当前 mysql 查询错误(语法错误、唯一键的重复输入错误)不会引发 PHP 错误,并且脚本正在继续执行,这很好。

我只是想知道什么设置(如果可以通过设置控制的话)可以在上述情况下停止脚本执行,以便我们清楚地知道并且不会在不知不觉中误操作。

我刚刚阅读了这个问题MySQL - ignore insert error: duplicate entry,这是关于避免在唯一字段上重复输入尝试时出错。 @zombat 的答案提到在尝试重复数据输入时使用 insert ... ignore 导致警告而不是错误。因此,似乎重复输入尝试(使用 insert 而不是 insert ... ignore)会导致 PHP 错误并且脚本执行停止。这是默认行为吗?

首先,我没有收到 PHP 错误。那么,我该如何获得它们呢?

【问题讨论】:

【参考方案1】:

你应该显示一些代码。

但有一些可能性是:

在可能有问题的命令之前使用 @ 进行错误抑制。

您有让脚本继续执行的自定义错误处理程序。

您使用异常而不是错误,并捕获它们。

在这里阅读:http://php.net/manual/en/function.set-error-handler.php

我们确实需要一些代码和一些设置。您可以扫描您的项目中的字符串:set_error_handler

【讨论】:

以上是关于设置在重复输入尝试唯一字段时导致 php 错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在vTiger crm 里加入字段的唯一性验证

mysql如何避免主键或者唯一索引重复导致的插入失败问题

如何创建唯一索引

MySQL 常用插入语法总结

MongoDb在并非所有文档中的字段上创建唯一索引[重复]

Mysql+php报错原因