如何检测MySQLi初始化错误

时间:2015-12-28 12:58:34

标签: php oop mysqli

在我的网站中,我使用从配置文件中读取的值初始化数据库连接,如下所示:

<intent-filter>

(对于记录,正在从文件中正确读取值,当一切正常时,数据库连接正常工作)

然后我问在创建MySQLi对象期间是否发生错误:

$this->mysqli = new mysqli($databaseInfo->MySQL_Host, $databaseInfo->MySQL_User, $databaseInfo->MySQL_Pass, $databaseInfo->MySQL_Db);

如果没有,那么我想设置一个错误变量并稍后在代码中处理...我希望这个检查仅在没有问题时通过...我认为“errno”变量提供足够的检查...

但显然不是,因为无论任何错误,我在配置文件中产生,代码仍然跳进“一切都很好”分支......显然PHP产生了很多警告,最后它崩溃了一些与之相关的致命错误事实数据库无法按预期工作

所以我的问题是 - 如何正确设置此数据库连接初始检查以避免这种情况?

2 个答案:

答案 0 :(得分:0)

从PHP手册中,试试这个:

if (!$mysqli->error) {
   printf("Errormessage: %s\n", $mysqli->error);
}

答案 1 :(得分:0)

如果使用PHP OOP

  if ($mysqli->connect_error) {
  die('Connect Error: ' . $mysqli->connect_error);
  }
  ?>

如果使用程序样式PHP

 if (!$link) {
  die('Connect Error: ' . mysqli_connect_error());
  }
  ?>