PHP必须检查数据库连接错误

时间:2014-07-14 14:44:39

标签: php mysql optimization error-handling

由于我试图尽可能提供格式良好的代码,所以我提出了这个问题。

一般情况下,我会为我创建的每个准备好的语句检查数据库连接错误:

if ($stmt = $mysqli->prepare("...random SQL code here...") {
    //bind_param, executes, store_results, etc. here
} else {$err = "Database error";}

但我从不检查执行时的数据库错误。我应该这样做吗?

它是否会影响大项目的性能,因为它会解决更好的调试问题,并且有更多机会抛出有用的错误代码?或者我应该忘记那些检查并且只依赖于mysql / php / apache日志?

感谢您帮助我。

1 个答案:

答案 0 :(得分:0)

是的,您应该测试连接的有效性,不会影响脚本的性能。关于这些连接命令的php文档几乎总是显示你如何。

见那里

http://php.net/manual/en/mysqli.construct.php

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
        .$mysqli->connect_error);
}