在 php 中显示 MYSQL 重复错误的错误消息
我在表中对两列使用 UNIQUE Constraint
以防止重复行。如果我尝试插入具有相同 2 列的行,我会得到
发生数据库错误错误 数量:1062
密钥重复条目“62-88” “订阅”
插入
订阅
(user_id
、subscribed_to
、日期
) 值('62'、'88'、'2011-07-11 19:15:13')文件名: C:\wamp\www\mysite\system\database\DB_driver.php
行号:330
如何返回 php 错误,例如 Already subscribed!
而不是显示 mysql 错误?
I am using UNIQUE Constraint
in my table for two columns to prevent duplicate rows. If I try to insert a row with the same 2 columns I get
A Database Error Occurred Error
Number: 1062Duplicate entry '62-88' for key
'subscription'INSERT INTO
subscriptions
(user_id
,subscribed_to
,date
)
VALUES ('62', '88', '2011-07-11
19:15:13')Filename:
C:\wamp\www\mysite\system\database\DB_driver.phpLine Number: 330
How can I return a php error, e..g Already subscribed!
instead of displaying the mysql error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在您的
mysql_query()
并检查1062
。注意:首先查询数据库是更常见/直观的解决方案。请参阅 Manocho 的回答。
Call
mysql_errno()
after yourmysql_query()
and check for1062
.Note: It's a more common/intuitive solution to query the database first. See answer by Manocho.
我认为您需要手动运行查询来检查数据库中是否已存在该条目。类似于:
SELECT COUNT(*) FROM subscriptions WHERE (user_id = '62' AND subscribed_to = '88')
。如果返回的计数> 0 然后返回错误,但是您希望它显示。I think you will need to run a query manually to check if the entry already exists in your database. so something like:
SELECT COUNT(*) FROM subscriptions WHERE (user_id = '62' AND subscribed_to = '88')
. If the count returned is > 0 then return the error, however you want it displayed.使用第三个链接,比较mysql 错误或 mysql errno到错误列表,如果满足条件,请提供备用错误消息。
Using the 3rd link, compare the mysql error or mysql errno to the list of errors and if the condition is met, provide your alternate error message.
要解决该错误,您可以执行以下操作:
To solve the error you can do this:
试试这个代码:
try this code :