我有一段非常简单的代码。
$mysqli = new mysqli($host, 'user', 'pass', $dbname);
if ($mysqli->connect_error) {
// ...
}
print_r($mysqli);
// ...
共有2台服务器。一个使用PHP 5.3,另一个使用5.2.4第一台服务器工作正常,并打印有关连接的所有详细信息。
第二台服务器没有返回任何错误。所以看起来连接成功了。但是对象是空的(当存在时)
mysqli Object
(
)
问题出在哪里?
答案位于新的Mysqli对象为空
更多的测试表明,尽管对象看起来是空的,但属性并不是。并且可以直接访问。所以如果我做
print_r($mysqli->host_info);
我得到了预期的数据。而
print_r($mysqli)
显示为空。它看起来像是PHP 5.2.x中的一个错误正如我在问题中提到的,它在使用PHP 5.3 的服务器上正常工作
$mysqli = new mysqli($host, 'user', 'pass', $dbname);
if (mysqli_connect_errno()) {
throw new Exception(mysqli_connect_errno()." ".mysqli_connect_error());
}
适用于任何版本的