由于一些奇怪的原因,下面的代码返回null,而手册声明它应该返回true或false。 mysqli对象中也没有信息。
代码
// Initialize MySQLi
$this->mysqli = new mysqli();
// Connect to the server
var_dump($this->mysqli);
var_dump($this->mysqli->real_connect($host, $username, $password, $database));
var_dump($this->mysqli);
输出
object(mysqli)#2 (17) { ["affected_rows"]=> NULL ["client_info"]=> NULL ["client_version"]=> int(50141) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> NULL ["error"]=> NULL ["field_count"]=> NULL ["host_info"]=> NULL ["info"]=> NULL ["insert_id"]=> NULL ["server_info"]=> NULL ["server_version"]=> NULL ["sqlstate"]=> NULL ["protocol_version"]=> NULL ["thread_id"]=> NULL ["warning_count"]=> NULL }
NULL
object(mysqli)#2 (17) { ["affected_rows"]=> NULL ["client_info"]=> NULL ["client_version"]=> int(50141) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> NULL ["error"]=> NULL ["field_count"]=> NULL ["host_info"]=> NULL ["info"]=> NULL ["insert_id"]=> NULL ["server_info"]=> NULL ["server_version"]=> NULL ["sqlstate"]=> NULL ["protocol_version"]=> NULL ["thread_id"]=> NULL ["warning_count"]=> NULL }
答案 0 :(得分:1)
您没有正确使用它。
您需要使用mysqli_init()
创建对象。
或者您将连接信息放在构造函数中,而不是调用real_connect
。
答案 1 :(得分:0)
我想知道你的代码的上下文是什么? 我只是在一个项目中工作,我在config.php文件中设置它..
<?php
$h='localhost';$u='username';$pw='PW';$db='test';
$sqli = new mysqli($h,$u,$pw,$db); ?>
然后在函数文件中......
<?php
include_once 'include/config.php';
class User {
public function __construct($sqli) {
$this->sqli=$sqli;
} //etc.
} ?>
连接效果很好,您可以在其中调用连接 使用$ this-&gt; sqli的类用户功能 - &gt;查询(“SELECT ...例如。 创建用户时传递连接... $ user = new User($ sqli);