【问题标题】:PHP connecting to database fails without error [closed]PHP连接到数据库失败而没有错误[关闭]
【发布时间】:2019-12-10 20:44:46
【问题描述】:

我正在尝试使用以下代码连接到我的服务器上的数据库:

<?php
 $username = "username";
 $servername = "localhost";
 $password = "password";
 echo "Before connection";

 // Create connection
 $conn = new mysqli($servername, $username, $password);
 // Check connection
 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 }
 echo "Connected successfully";
?>

但是$conn = new mysqli($servername, $username, $password); 之后的代码没有执行。当我尝试在它之后回显任何内容时,我没有得到输出。该行之前的代码按预期工作。我没有从 php 中得到任何错误。

我不确定是什么问题。它可能与服务器相关吗?我确实尝试添加:

ini_set('display_errors',1);
 error_reporting(E_ALL); 

但它没有帮助,没有显示任何错误。

我一直在尝试从 *(和其他地方)做很多事情,但他们没有帮助,一些例子:

Connecting to a mysql database from php, error but no error shown?

Connection of MySQL with PHP not working

【问题讨论】:

  • 您是否在脚本的开头添加了那些 ini_set / error_reporting 行?在任何情况下,您的网络服务器都应该存储日志文件。
  • @Jeto 是的,我做到了,而且网络服务器日志中也没有错误......
  • 我只使用默认的服务器错误处理程序。但这是学校网络服务器,所以可能缺少...

标签: php mysql database


【解决方案1】:

有多种处理错误的方法

最简单的,连接时使用try catch

<?php
 $username = "username";
 $servername = "localhost";
 $password = "password";
 echo "Before connection";

 // Create connection
 try {
 $conn = new mysqli($servername, $username, $password); } catch(\Exception $e) { var_dump ('oopss... this is the error', $e)}
 // Check connection
 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 }
 echo "Connected 

【讨论】:

  • 告诉你new mysqli抛出异常
  • 嗯,它确实有帮助,谢谢我收到错误:致命错误:未捕获的错误:在...中找不到类 'mysqli' 所以现在只是尝试解决这个问题:)。
  • 这不一定是为了捕捉新的 mysqli 错误,而是任何可能介于两者之间的东西,在 OP 的情况下似乎更有可能