MySQLi连接方法中的一个Bug?

Kne*_*ZOD 1 php mysqli

此代码产生错误:

$conn_obj = new MySQLi();
$conn_obj->connect($host, $username, $password);
Run Code Online (Sandbox Code Playgroud)

此代码有效:

$conn_obj = new MySQLi($host, $username, $password);
Run Code Online (Sandbox Code Playgroud)

我的问题是:这是MySQL中的某种错误,还是我忘了启用某些属性?

我知道问题不在于任何这些参数.

Mic*_*ski 6

connect()当以面向对象的方式使用时,MySQLi没有方法.通过__construct()调用时建立连接new MySQLi($host, $user, $pass, $dbname),因此这是预期的行为

有关完整信息,请参阅有关MySQLi :: __ construct()的文档.

有一个函数mysqli_connect(),它在程序(非OO)代码中建立一个MySQLi连接对象,如:

$connection = mysqli_connect($host, $user, $pass, $dbname);
Run Code Online (Sandbox Code Playgroud)

通过设置MySQLi对象时MySQLi::init(),可以real_connect()在设置选项后调用返回的对象上的方法.

改编自MySQLi文档:

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}
Run Code Online (Sandbox Code Playgroud)