PHP merangkum fungsi pertanyaan pangkalan data

PHPz
Lepaskan: 2023-03-23 18:03:19
asal
1502 orang telah melayarinya

Dalam pembangunan laman web, operasi pangkalan data adalah sangat biasa. Untuk bahasa PHP, menanya pangkalan data juga merupakan fungsi yang sangat penting. Dalam PHP, kami menggunakan dua sambungan, MySQLi dan PDO, untuk mengendalikan pangkalan data.

Apabila menggunakan MySQLi dan PDO untuk menanyakan pangkalan data, kita biasanya perlu menulis kod yang panjang, yang meningkatkan jumlah kod dan masa pembangunan yang tidak diperlukan. Sebagai tindak balas kepada situasi ini, kita boleh merangkum fungsi yang ditanya daripada pangkalan data untuk mencapai pengoptimuman kod dan meningkatkan kecekapan pembangunan.

1. Fungsi enkapsulasi pertanyaan MySQLi

Apabila menggunakan pertanyaan MySQLi, kita boleh merangkum fungsi pertanyaan berikut:

  1. Sambung ke fungsi pangkalan data :
function connectDb() {
    $servername = "yourservername";
    $username = "yourusername";
    $password = "yourpassword";
    $dbname = "yourdbname";

    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);

    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    return $conn;
}
Salin selepas log masuk
  1. Fungsi pertanyaan:
function selectDb($query) {
    $conn = connectDb();

    $result = $conn->query($query);
    if ($result === false) {
        die("查询失败: " . $conn->error);
    }

    $data = array();
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }

    $conn->close();

    return $data;
}
Salin selepas log masuk
  1. Fungsi sisip, kemas kini, padam:
function updateDb($query) {
    $conn = connectDb();

    if ($conn->query($query) === true) {
        $status = true;
    } else {
        $status = false;
    }

    $conn->close();

    return $status;
}
Salin selepas log masuk

2. Fungsi enkapsulasi pertanyaan PDO

Apabila menggunakan pertanyaan PDO, kita boleh merangkum fungsi pertanyaan berikut:

  1. Sambungkan fungsi pangkalan data:
function connectDb() {
    $host = "yourhost";
    $username = "yourusername";
    $password = "yourpassword";
    $dbname = "yourdbname";

    try {
        $conn = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
        // 设置 PDO 错误模式为异常
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        echo "连接失败: " . $e->getMessage();
    }
    
    return $conn;
}
Salin selepas log masuk
  1. Fungsi pertanyaan:
function selectDb($query) {
    $conn = connectDb();

    $stmt = $conn->prepare($query);
    $stmt->execute();

    $data = array();
    while ($row = $stmt->fetch()) {
        $data[] = $row;
    }

    $conn = null;

    return $data;
}
Salin selepas log masuk
  1. Fungsi sisip, kemas kini, padam:
function updateDb($query) {
    $conn = connectDb();

    $status = true;

    try {
        $conn->beginTransaction();

        $stmt = $conn->prepare($query);
        $stmt->execute();

        $conn->commit();
    } catch(PDOException $e) {
        $conn->rollBack();
        $status = false;
    }

    $conn = null;

    return $status;
}
Salin selepas log masuk

Oleh membandingkan dua di atas Menggunakan fungsi enkapsulasi pertanyaan ini, kita boleh mengurangkan bilangan baris kod yang diperlukan untuk menanya pangkalan data dan meningkatkan kecekapan kod dan kecekapan pembangunan.

Ringkasan

Dalam pembangunan, fungsi merangkum adalah bahagian yang amat diperlukan dalam meningkatkan kualiti kod dan kecekapan pembangunan. Apabila melaksanakan operasi pertanyaan pangkalan data, kami boleh menggunakan fungsi enkapsulasi pertanyaan pangkalan data untuk mengoptimumkan kod pertanyaan dan meningkatkan kecekapan pembangunan. Fungsi pakej di atas adalah untuk rujukan sahaja, dan pembaca boleh membuat perubahan dan penambahbaikan mengikut keperluan projek tertentu.

Atas ialah kandungan terperinci PHP merangkum fungsi pertanyaan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan