为什么不正常的的mysql_query或后做一个回声?的mysql_query或(为什么没有在这里回声?)
所以mysql_query or die ("error")
是合法的,但为什么mysql_query or echo ("error")
不是?
是否有任何其他可能性在不退出整个下面的代码的情况下打印文本(或者填充变量)?
为什么不正常的的mysql_query或后做一个回声?的mysql_query或(为什么没有在这里回声?)
所以mysql_query or die ("error")
是合法的,但为什么mysql_query or echo ("error")
不是?
是否有任何其他可能性在不退出整个下面的代码的情况下打印文本(或者填充变量)?
在or
内,您可以使用; die("error")
或print("error")
。如果你做了如下的事情会更好,因为它可以让你;
$obj = mysql_query("select * from table", $link);
if(mysql_error($link)) {
echo "Error";
//Log the error?
die;
}
请注意;
的mysql_扩展弃用为PHP 5.5.0,并且不建议用于编写新的代码,因为它会在将来被移除。相反,应使用mysqli或PDO_MySQL扩展名。请参阅MySQL API Overview以获得进一步帮助,同时选择MySQL API。
通常从MySQL错误记录在取决于error.log中您的服务器如何设置而无需采取额外步骤。 YMMV – 2014-10-09 13:37:52
@JayBlanchard哪个error.log?我从来没有见过/听说过/经历过这个。 YMMV的含义是什么? :) – 2014-10-09 13:41:46
如果您在Linux机器上,请查看服务器的错误日志。在许多Linux发行版中,路径是/var/log/apache/error.log。 YMMV =='您的里程可能会有所不同' – 2014-10-09 13:44:36
简单运行mysql_query,然后你可以访问mysql_errno
或mysql_error
。 并用mysqli函数代替mysql_函数。
我知道你已经有很好的答案,但我做的事情是这样的(除了我现在使用PDO,也应你):
function error_catcher($error) {
// Any code you want here, including echo, logging, emailing of error, and so on.
}
$sql=mysql_query("select * from table") or die(error_catcher(mysql_error()));
请注意:
该mysql_扩展弃用为PHP 5.5.0,并且不建议用于编写新的代码,因为它会在将来被移除。相反,应使用mysqli或PDO_MySQL扩展名。请参阅MySQL API Overview以获得进一步帮助,同时选择MySQL API。
1.不使用mysql,但使用mysqli或pdo 2.需要打印哪种文本?你不能在死前或死亡之前打印它? – trainoasis 2014-10-09 13:22:19
小心OR语句。请记住,你应该检查,而如果查询完成,而不是给它一个机会,不这样做(也避免mysql_ *,因为它是不建议使用) – briosheje 2014-10-09 13:23:28