我得出的结论是,在 OO 方法中使用 mysqli 比程序方法更好。(来源:为什么使用 mysqli 的面向对象 PHP 比过程方法更好?)。但我不太确定我所做的是否真的比我以前所做的更有效率。
我有一个运行 sql 查询的函数。这就是我的代码块的样子:
数据库连接:
function connectDB(){
$con = mysqli_connect(server, username, password, database);
return $con;
}
查询功能:
function executeQuery($payload){
$con = connectDB;
$result = mysqli_query($con, $payload);
return $result;
}
如您所见,这不是很有效,因为每次executeQuery
调用我都会创建一个新的数据库连接。所以我想我会尝试使用 OOP。
数据库连接(OOP):
function connectDB(){
$con = new mysqli(server, username, password, database);
return $con;
}
数据库查询(OOP):
function executeQuery($payload){
$con = connectDB();
$result = $con->query($payload);
return $result;
}
现在对我来说,似乎我显然做错了什么。每次调用查询时,我都会重新实例化mysqli
该类,并且我认为这意味着我正在建立另一个数据库连接。
那么我该如何正确有效地做到这一点呢?