使用echo而不是die()

时间:2014-05-11 17:40:42

标签: php

使用mysql时经常会看到类似的内容:

  

mysql_query($ sql)或die(mysql_error());

我知道这是为了什么。如果打印错误但脚本运行到最后,我该怎么办?

我想到这样的事情:

  

mysql_query($ sql)或echo mysql_error();

那会有用吗?

2 个答案:

答案 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起,此扩展已弃用,将来将被删除。相反,应使用MySQLiPDO_MySQL扩展名。有关详细信息,另请参阅MySQL: choosing an API guiderelated FAQ

如果您正在编写新代码并希望将来可以轻松维护,您应该考虑警告。