我使用了一個名爲MyMysqli以瞬移,使查詢類等可以多次連接db連接嗎? PHP - MySQL的
MyMysqli.php:
...
public function query($query){
$this->total_queries++;
$result= mysqli_query($this->conection, $query);
if(!$result){
echo "Error: " . mysqli_error($this->conection);
exit;
}
return $result;
}
...
...
public function free(){
mysqli_free_result($this->result);
}
...
而且我還有其他的類來定義用戶。 它裏面,我有一個公共的功能來修改用戶的一些數據:如果用戶存在
public function makeActive($id){
if($this->userExists($id)){
$db = new MyMysqli;
$db->query("UPDATE users SET userActive =1 WHERE idUser=".$id);
$db->free();
return 1;
}
return 0;
}
而且功能userExists //檢查:
public function userExists($id){
$db = new MyMysqli;
$db->query("SELECT idUser FROM users WHERE idUser=".$id);
if($db->num_rows($db->query) === 1){
return 1;
}
return 0;
$db->free();
}
所以,你可以看到,我在函數中調用新的MyMysqli 2次,可以這麼做嗎?或者我不應該使用另一個函數來檢查用戶是否存在,包括檢查makeActive函數?
謝謝你的幫助!
如果你希望得到答案,你應該把這些代碼片段翻譯成英文。要回答你的問題,在連接數據庫,連接東西一次,然後多次使用該連接時會有開銷。 – EJTH
你應該只打開一個連接到數據庫每頁請求,除非你想問題 – developerwjk
翻譯,謝謝! @developerwjk,即使我自由結果?,謝謝! –