欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php mysqli 封裝

呂致盈1年前7瀏覽0評論

PHP Mysqli封裝是PHP中的一種技術,它可用于管理MySQL數據庫的讀寫操作。經常我們需要去執行比較復雜的操作,如批量更新,查詢后直接操作等,而通過Mysqli封裝,我們可以完成這些操作,從而達到更高效的目的。

使用mysqli連接到MySQL數據庫:

$dbhost = "localhost";
$dbuser = "root";
$dbpass = "password";
$dbname = "test";
mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

執行SQL查詢:

$sql = "SELECT * FROM users";
$result = mysqli_query($link, $sql);
while($row = mysqli_fetch_array($result)) {
echo $row['username'];
}

執行SQL更新:

$sql = "UPDATE users SET age=30 WHERE username='john'";
if (mysqli_query($link, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($link);
}

封裝

我們可以使用面向對象的方式對Mysqli進行封裝。下面是一個例子:

<?php
class Database {
private $host;
private $user;
private $password;
private $database;
private $link;
public function __construct($host, $user, $password, $database) {
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->link = mysqli_connect($this->host, $this->user, $this->password, $this->database);
}
public function execQuery($sql) {
$result = mysqli_query($this->link, $sql);
if(!$result) {
echo "Error while execQuery";
return false;
}
return $result;
}
public function getAll($table) {
$sql = "SELECT * FROM $table";
$result = $this->execQuery($sql);
$array = array();
while($row = mysqli_fetch_array($result)) {
$array[] = $row;
}
return $array;
}
public function insertData($table, $data) {
$keys = array_keys($data);
$values = array_values($data);
$sql = "INSERT INTO $table (".implode(",", $keys).") VALUES ('".implode("','", $values)."')";
if(!$this->execQuery($sql)) {
echo $sql;
exit;
}
}
}
?>

上述代碼中的class Database類封裝了我們的mysqli操作。假設我們有一個user表,它有id, name和age三個字段。

使用 getAll 方法獲取 user 表中的所有數據:

$db = new Database('localhost', 'root', '', 'test');
$data = $db->getAll('user');
print_r($data);

使用 insertData 方法往 user 表中插入一條新數據:

$data = array(
'name' =>'John',
'age' =>30
);
$db->insertData('user', $data);

使用Mysqli封裝,可以簡化我們對Mysqli的操作。通過封裝,我們可以更加方便地對MySQL數據庫進行操作,從而提高我們的開發效率。當然,也可以在封裝時自定義一些方法,來完成更加特定的操作。