【发布时间】:2019-11-26 23:40:12
【问题描述】:
处理 PHP/MySQL 重复条目错误的正确方法是什么?
即使代码 1062 是重复条目的正确代码,下面的代码也不起作用。我应该在这里改用 DBO 吗?可惜我还不熟悉。
<?php
try {
mysql_query('INSERT INTO TP2_ORGANISME VALUES (A0A0, Equiterre, 1,
/photos/equiterre_logo.png, Steve Guilbault, steve@equiterre.org');
} catch {
if (mysql_errno() == 1062)
echo 'Duplicate key entry';
}
?>
我只是在寻找一个简单的 try catch 或任何可以让我打印一条消息给输入重复项的用户,他必须为主键输入另一个值。
谢谢
【问题讨论】:
-
警告:不要使用在 PHP 7 中删除的过时的
mysql_query接口。PDO is not hard to learn 之类的替代品和PHP The Right Way 之类的指南有助于解释最佳实践.这里的参数是 NOT properly escaped 并且在这段代码中有严重的 SQL injection bugs。转义任何和所有用户数据,尤其是来自$_POST或$_GET。 -
这段代码不可能工作。我不确定你在哪里找到它,但我希望你用来学习如何在 PHP 中使用 MySQL 的资源太旧而无法信任。
mysql_query不再可用,此外,您不能插入这样的数据。您需要完成基本的 SQL 入门,然后才能使这些变得有意义,或者使用数据库抽象层,如 e RedBeanPHP、Doctrine、Propel 或 Eloquent 以获得更柔和的开始。
标签: php mysql error-handling try-catch