【发布时间】:2012-06-04 10:58:00
【问题描述】:
我有一个提交表单,当用户尝试使用重复条目提交它时,它会返回 MySQL 错误 #1062。例如,错误状态:
Duplicate entry 'graphics' for key 'name'
我想给用户一个自定义消息,解释(用简单的英语)他们为什么会出错,以及导致错误的具体条目。例如:
"Graphics" is a duplicate entry and should not be used. Please remove it and resubmit the form."
键始终是“名称”,但重复条目本身通常会有所不同。我需要能够从生成的 MySQL 错误中提取该特定值,然后将我的自定义消息包装在它周围。这怎么可能?
【问题讨论】:
-
您可以从数据库中提取所有“名称”字段,然后在开始插入数据库之前在 PHP 中与用户指定的值进行比较检查。
-
在创建查询时,您在变量中没有值吗?您不能只使用它吗?
-
顺便说一句。附带说明:请停止使用古老的 mysql_* 函数编写新代码。它们不再被维护并且社区已经开始了弃用过程。相反,您应该了解准备好的语句并使用 PDO 或 MySQLi。
-
@bono 我只知道旧的 mysql 。除了 php.net 之外,任何好的初学者教程都很难学习 pdo 和 mysqli 吗?它从 basci 中教你,例如从 basci sql 中更新 delte 插入 select 函数
-
一点也不难学,1天就搞定了大部分。这是一个很好的教程:wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers
标签: php mysql error-handling duplicates