使用mysql时经常会看到类似的内容:
mysql_query($ sql)或die(mysql_error());
我知道这是为了什么。如果打印错误但脚本运行到最后,我该怎么办?
我想到这样的事情:
mysql_query($ sql)或echo mysql_error();
那会有用吗?
答案 0 :(得分:1)
没有。 echo
是一种语言结构,因此不能以这种方式使用。
print
但是, 仍然不是一个函数,但它可以这种方式使用......不知何故。不要问我,PHP有时候很奇怪。
mysql_query($sql) or print(mysql_error());
但是,应该注意的是,您最好切换到PDO,这包括一个更强大的错误处理系统(假设您正确启用了setAttribute
)
答案 1 :(得分:0)
通常使用die()
,因为您无法使用查询(并且会导致引发通知/错误)。
你能做的就是这样的事情
$query = mysql_query($sql);
if ($query === FALSE) {
// do something with mysql_error()
} else {
//regular code for fetching rows
}
这样,如果查询失败,if()
将成立,您可以记录/打印错误,并在使用查询的部分之后继续。
您是否在有关mysql_*
功能的所有网页上看到了手册中的红色大框?
警告强> 自PHP 5.5.0起,此扩展已弃用,将来将被删除。相反,应使用MySQLi或PDO_MySQL扩展名。有关详细信息,另请参阅MySQL: choosing an API guide和related FAQ。
如果您正在编写新代码并希望将来可以轻松维护,您应该考虑警告。