2

我有一段非常简单的代码。

$mysqli = new mysqli($host, 'user', 'pass', $dbname);  
        if ($mysqli->connect_error) {
           //       ...
        }
 print_r($mysqli);
//  ...

有2台服务器。一个使用 PHP 5.3 另一个使用 5.2.4 第一个服务器可以正常工作,并打印有关连接的所有详细信息。

第二台服务器不返回任何错误。所以看起来连接成功了。但是对象是空的(虽然存在)

mysqli Object
(
)

可能是什么问题?

4

2 回答 2

1

答案在 New Mysqli Object is Null找到

更多测试表明,尽管对象似乎是空的,但属性却不是。并且可以直接访问。所以如果我这样做

print_r($mysqli->host_info);

我得到了预期的数据。尽管

print_r($mysqli)

显示为空。它看起来像 PHP 5.2.x 中的一个错误正如我在问题中提到的,它在 PHP 5.3 的服务器上正常工作

于 2013-08-23T10:09:52.853 回答
-1
$mysqli = new mysqli($host, 'user', 'pass', $dbname);  
if (mysqli_connect_errno()) {
    throw new Exception(mysqli_connect_errno()." ".mysqli_connect_error());
}

适用于任何版本

于 2013-08-22T15:55:21.380 回答