PHP kapselt eine Datenbankabfragefunktion

PHPz
Freigeben: 2023-03-23 18:03:19
Original
1503 Leute haben es durchsucht

Bei der Website-Entwicklung sind Datenbankoperationen weit verbreitet. Für die PHP-Sprache ist das Abfragen der Datenbank ebenfalls eine sehr wichtige Funktion. In PHP verwenden wir MySQLi- und PDO-Erweiterungen, um die Datenbank zu betreiben.

Wenn wir MySQLi und PDO zum Abfragen der Datenbank verwenden, müssen wir normalerweise einen langen Code schreiben, was unnötiges Codevolumen und Entwicklungszeit erhöht. Als Reaktion auf diese Situation können wir die von der Datenbank abgefragten Funktionen kapseln, um eine Codeoptimierung zu erreichen und die Entwicklungseffizienz zu verbessern.

1. MySQLi-Abfragekapselungsfunktion

Bei Verwendung von MySQLi-Abfrage können wir die folgenden Abfragefunktionen kapseln:

  1. Verbindungsdatenbankfunktion:
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;
}
Nach dem Login kopieren
  1. Abfragefunktion:
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;
}
Nach dem Login kopieren
  1. Einfügen , aktualisieren, löschen Funktion:
function updateDb($query) {
    $conn = connectDb();

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

    $conn->close();

    return $status;
}
Nach dem Login kopieren

2. PDO-Abfragekapselungsfunktion

Bei Verwendung der PDO-Abfrage können wir die folgende Abfragefunktion kapseln:

  1. Verbindungsdatenbankfunktion:
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;
}
Nach dem Login kopieren
  1. Abfragefunktion:
function selectDb($query) {
    $conn = connectDb();

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

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

    $conn = null;

    return $data;
}
Nach dem Login kopieren
  1. Einfügen , Update, Löschfunktion:
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;
}
Nach dem Login kopieren

Durch die Verwendung der beiden oben genannten Abfragekapselungsfunktionen können wir die Anzahl der Codezeilen, die zum Abfragen der Datenbank erforderlich sind, erheblich reduzieren und die Code- und Entwicklungseffizienz verbessern.

Zusammenfassung

Während der Entwicklung ist die Kapselung von Funktionen ein unverzichtbarer Bestandteil zur Verbesserung der Codequalität und Entwicklungseffizienz. Bei der Durchführung von Datenbankabfragevorgängen können wir Kapselungsfunktionen für Datenbankabfragen verwenden, um den Abfragecode zu optimieren und die Entwicklungseffizienz zu verbessern. Die oben genannten Paketfunktionen dienen nur als Referenz und der Leser kann entsprechend den spezifischen Projektanforderungen Änderungen und Verbesserungen vornehmen.

Das obige ist der detaillierte Inhalt vonPHP kapselt eine Datenbankabfragefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage