使用mysql时,我经常看到类似这样的信息:
mysql_query($sql) or die(mysql_error());
我明白这是干什么的。 该如何打印错误但脚本运行到最后该怎么办?
我想到这样的事情:
mysql_query($sql) or echo mysql_error();
那行得通吗?
为什么不尝试一下呢?
提示:使用print。
对于SO,这不是适当的问题。 只需尝试一下,看看会发生什么。
否。echo是一种语言构造,因此不能以这种方式使用。
print,但是is del>仍然不是一个函数,但是可以这种方式使用...以某种方式。不要问我,PHP有时很奇怪。
但是,应注意,您最好切换到PDO,这包括一个更强大的错误处理系统(前提是您正确地使用setAttribute启用了它)
打印不是功能。 它只允许作为表达式。 (≠陈述)
@bwoebi好吧,认为我更正了。
所以这行得通吗?
通常使用die()是因为您不能使用该查询(这将导致引发通知/错误)。
你可以做的就是这样
$query = mysql_query($sql);
if ($query === FALSE) {
// do something with mysql_error()
} else {
//regular code for fetching rows
}
这样,如果查询失败,则if()将为true,您可以记录/打印错误并从使用查询的部分之后继续。
您是否在与mysql_*功能有关的所有页面的手册中看到红色的大方框?
Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information.
如果您要编写新代码并希望将来可以轻松维护它,则应考虑该警告。
谢谢。 这对我有用。 我知道mysql已过时,但它适用于我需要的东西。 我会在不久的将来改变。