Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PDO PHP untuk merangkum kelas pangkalan data yang sangat boleh dikendalikan

Cara menggunakan PDO PHP untuk merangkum kelas pangkalan data yang sangat boleh dikendalikan

PHPz
PHPzasal
2024-02-26 12:18:061177semak imbas

Cara menggunakan PDO PHP untuk merangkum kelas pangkalan data yang sangat boleh dikendalikan

Cara PHP menggunakan PDO untuk merangkum kelas DB yang ringkas dan mudah digunakan

Pengenalan:
Dalam pembangunan PHP, pangkalan data adalah bahagian yang sangat penting. Untuk mengendalikan pangkalan data dengan lebih baik, kami boleh menggunakan sambungan PDO (Objek Data PHP) untuk menyambung, membuat pertanyaan dan mengendalikan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PDO untuk merangkum kelas DB yang ringkas dan mudah digunakan untuk memudahkan pembangun melaksanakan operasi pangkalan data.

1. Cipta kelas DB
Pertama, kami mencipta kelas DB, yang akan merangkumi kaedah operasi pangkalan data yang biasa digunakan. Kodnya adalah seperti berikut:

class DB
{
    private $pdo;  // pdo对象

    public function __construct($host, $dbname, $username, $password)
    {
        $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
        $options = array(
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        );
        $this->pdo = new PDO($dsn, $username, $password, $options);
    }

    public function query($sql, $params = [])
    {
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($params);
        return $stmt;
    }

    public function fetchAll($sql, $params = [])
    {
        $stmt = $this->query($sql, $params);
        return $stmt->fetchAll();
    }

    public function fetch($sql, $params = [])
    {
        $stmt = $this->query($sql, $params);
        return $stmt->fetch();
    }

    public function insert($table, $data)
    {
        $columns = implode(', ', array_keys($data));
        $values = ':' . implode(', :', array_keys($data));
        $sql = "INSERT INTO $table ($columns) VALUES ($values)";
        $this->query($sql, $data);
    }

    public function update($table, $data, $where = [])
    {
        $set = '';
        foreach ($data as $key => $value) {
            $set .= "$key = :$key, ";
        }
        $set = rtrim($set, ', ');
        $whereClause = '';
        foreach ($where as $key => $value) {
            $whereClause .= "$key = :$key AND ";
        }
        $whereClause = rtrim($whereClause, ' AND ');
        $sql = "UPDATE $table SET $set WHERE $whereClause";
        $this->query($sql, array_merge($data, $where));
    }

    public function delete($table, $where)
    {
        $whereClause = '';
        foreach ($where as $key => $value) {
            $whereClause .= "$key = :$key AND ";
        }
        $whereClause = rtrim($whereClause, ' AND ');
        $sql = "DELETE FROM $table WHERE $whereClause";
        $this->query($sql, $where);
    }
}

2. Gunakan kelas DB
Seterusnya, kami akan menunjukkan cara menggunakan kelas DB yang baru dikapsulkan untuk melaksanakan operasi pangkalan data. Mula-mula, kita perlu mencipta tika pangkalan data, dan kemudian kita boleh menggunakan tika itu untuk melaksanakan operasi seperti pertanyaan, ambilSemua, ambil, masukkan, kemas kini dan padam.

// 创建数据库实例
$db = new DB('localhost', 'mydatabase', 'username', 'password');

// 查询操作
$result = $db->fetchAll("SELECT * FROM users");
foreach ($result as $row) {
    echo $row['name'];
}
echo "<br>";

// 插入操作
$db->insert("users", [
    'name' => 'Tom',
    'age' => 20
]);

// 更新操作
$db->update("users", [
    'age' => 21
], [
    'name' => 'Tom'
]);

// 删除操作
$db->delete("users", [
    'name' => 'Tom'
]);

3. Ringkasan
Melalui enkapsulasi di atas, kami boleh memudahkan operasi pangkalan data dan menjadikan kod lebih mudah dibaca dan mudah digunakan. Kelas DB menyediakan enkapsulasi pertanyaan yang biasa digunakan, memasukkan, mengemas kini dan memadam operasi, meningkatkan kecekapan pembangunan.

Di atas adalah pengenalan tentang cara menggunakan PDO untuk merangkum kelas DB yang ringkas dan mudah digunakan. Semoga ia membantu.

Atas ialah kandungan terperinci Cara menggunakan PDO PHP untuk merangkum kelas pangkalan data yang sangat boleh dikendalikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn