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

时间:2010-08-16 02:50:21

标签: php mysql oop object mysqli

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

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

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

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

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

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:4)

虽然它不在文档中,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);

答案 2 :(得分:3)

您无法关闭mysqli连接并重复使用它。