【发布时间】:2016-01-02 10:42:23
【问题描述】:
我尝试做一个简单的 SQL 类。 只有一个问题:
function __classDBREAD($table, $where, $value, $back)
{
$link = mysql_connect('127.0.0.1','XXXX','XXXXXX');
mysql_select_db('XXXX', $link);
mysql_set_charset('utf8');
$sql = "SELECT * FROM $table WHERE $where = '$value' LIMIT 1";
$result = mysql_query($sql, $link) or die(mysql_error());
$row = mysql_fetch_assoc($result);
return $row[$back];
mysql_close($link);
}
现在,我怎样才能只连接一次 SQL 并添加“dbUpdate”、“dbInsert”和“dbRead”等函数,而无需每次都连接到数据库?
teampeak 连接也是如此。
这里是一个例子:
require_once ("lib/TeamSpeak3/TeamSpeak3.php");
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://XXXXX:XXXX@127.0.0.1:10011/?server_port=XXXX");
$__varTeamspeakClients = $ts3_VirtualServer->clientList();
$__intTeamspeakClientsOnline = $ts3_VirtualServer["virtualserver_clientsonline"] - 1;
$ts3_VirtualServer->request('clientupdate client_nickname='.$this->__classRndString(8));
同样的问题。当我在页面中包含 Class 时,如何只定义一次连接?
【问题讨论】:
-
一方面,您不能将
mysqli_作为mysqli_close($link);与您的mysql_函数混合使用。 -
不要
mysqli_close($link);,这样您就不必再次打开它 -
@Fred-ii-,我修好了。
-
如果您熟悉 OOP,请查看
singleton模式。看看你是否对它感兴趣(如果实施,不要过度使用......)。 -
好吧,我想保留这个。那么,有什么方法可以在函数之外连接到数据库并调用更新/选择/插入到函数中?