可以重新打开MYSQLI连接而不实例化新对象

Bro*_*bay 6 php mysql oop mysqli object

这里只是一个简单的问题:

如果我选择面向对象的样式来与我的数据库进行交互,即......

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

然后我$mysqli->close();在某个时候使用关闭连接......

我可以通过简单地启动另一个查询来重新打开该连接$mysqli->query();,还是必须实例化一个新的MYSQLI对象?

sha*_*mar 6

不,您必须实例化一个新的MYSQLI对象.您可以使用相同的变量,$mysqli但必须再次编写此代码:

 $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
Run Code Online (Sandbox Code Playgroud)


jtr*_*ull 5

虽然它不在文档中,但它是mysqli::connect()一种方法,您可以使用它来“重新连接”您的对象 - 似乎只是构造函数的别名。

<?php
$host = '127.0.0.1';
$user = 'user';
$pass = 'pass';
$name = 'storage';

$mysqli = new mysqli($host, $user, $pass, $name);
// Do stuff...
$mysqli->close();
// Later on...
$mysqli->connect($host, $user, $pass, $name);
Run Code Online (Sandbox Code Playgroud)