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:
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; }
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; }
function updateDb($query) { $conn = connectDb(); if ($conn->query($query) === true) { $status = true; } else { $status = false; } $conn->close(); return $status; }
2. Fungsi enkapsulasi pertanyaan PDO
Apabila menggunakan pertanyaan PDO, kita boleh merangkum fungsi pertanyaan berikut:
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; }
function selectDb($query) { $conn = connectDb(); $stmt = $conn->prepare($query); $stmt->execute(); $data = array(); while ($row = $stmt->fetch()) { $data[] = $row; } $conn = null; return $data; }
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; }
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!