mysqli_connect没有错误报告

时间:2014-06-19 20:00:29

标签: php mysql

mysql_connect会给我一个错误报告。 mysqli_connect给了我一个空白页面。

确实给我一个错误报告

$mysql_con = mysql_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_table); 
if(!$mysql_con) {
   die("Some error occurred during connection " . mysql_error($mysql_con));
}

给我一个错误报告:

$mysql_con = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_table); 
if(!$mysql_con) {
   die("Some error occurred during connection " . mysqli_error($mysql_con));
}

这也不是

$mysql_con = mysql_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_table) 
or die("Some error occurred during connection " . mysqli_error($mysql_con));

我尝试过两个相同的事情:空白页

error_reporting(E_ALL);
error_reporting(-1);

当我说空白页时,我的意思是什么都没有显示出来。没有我的HTML或CSS或任何东西。它完全停止了脚本。即使出现错误,mysql_connect似乎也能正常运行并加载页面。

何时在本地(localhost)执行此操作,mysqli_connect工作正常并在需要时发出错误。连接到的DB是同一个,唯一的区别在于上面的脚本我让它从远程服务器执行以访问我本地系统上的数据库。即使它无论出于什么原因无法访问它,为什么它会给我一个空白的屏幕?


修改

它神奇地工作,现在使用以下代码正确地给我错误。

$con = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db);
if(mysqli_connect_errno()) {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

1 个答案:

答案 0 :(得分:3)

不要将mysqli_error附加到die语句,而是在连接后检查错误,如下所示:

$mysql_con = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_table); 
if($mysql_con->connect_error) {
   die($mysql_con->connect_error);
}