Mysqli对象为空,没有连接错误

时间:2013-08-22 15:47:18

标签: php mysqli

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

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

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

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

mysqli Object
(
)

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

答案是在 New Mysqli Object is Null

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

print_r($mysqli->host_info);

我得到了预期的数据。而

print_r($mysqli)

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

答案 1 :(得分:-1)

$mysqli = new mysqli($host, 'user', 'pass', $dbname);  
if (mysqli_connect_errno()) {
    throw new Exception(mysqli_connect_errno()." ".mysqli_connect_error());
}

适用于任何版本