我有一个用PHP编写的Web应用程序。我使用一个类来处理这个应用程序所做的几乎所有事情。我在类之前预定义了一些东西,比如数据库名。我希望的是我可以为mysql_error()设置一个定义。
因此,当我运行SQL查询并添加错误的die()时,我希望它输出“发生错误!”如果应用程序在生产环境中运行,但我可以从define(“DIEOUTPUT”,“发生错误!”)更改1 define来定义(“DIEOUTPUT”,mysql_error());
我的die()函数看起来像:die(DIEOUTPUT);
这可能吗?
答案 0 :(得分:2)
不,这是不可能的。
相反,您可以创建自己的die()
版本:
function my_die(){
if($is_production_environement) {
die("An error has occured");
}
else{
var_dump(mysql_error());
}
}
注意强>:
mysql_*
功能转移到PDO或mysqli。die()
(或my_die()
)对用户不太友好,请考虑替代方案答案 1 :(得分:0)
两件事:
使用mysqli的代码应如下所示:
mysqli_query('your query') or exit($isProduction?"An error occured":mysqli_error());
根据您使用常数的愿望,您可以使用
define(PRODUCTION,true);//false if dev
mysqli_query('your query') or exit(PRODUCTION?"An error occured":mysqli_error());