Sambungan pangkalan data PHP melibatkan nama hos pangkalan data, nama pangkalan data, penubuhan sambungan (mysqli_connect()), pengendalian ralat (mysqli_error() dan mysqli_errno()), sambungan berterusan (mysqli_pconnect()), dan ciri lanjutan seperti penyata yang disediakan, transaksi dan Kes praktikal (membaca data pengguna).
Panduan Terbaik untuk Sambungan Pangkalan Data PHP
Kata Pengantar
Berinteraksi dengan pangkalan data adalah kunci untuk membina aplikasi web dinamik. PHP menyediakan pelbagai pilihan untuk mewujudkan sambungan pangkalan data yang kukuh dan boleh dipercayai. Artikel ini akan memberikan pengenalan yang komprehensif kepada teknologi sambungan pangkalan data PHP, daripada konsep asas kepada teknik lanjutan.
Asas Sambungan Pangkalan Data
Sambungan pangkalan data terdiri daripada dua elemen utama:
Mewujudkan sambungan
Untuk mewujudkan sambungan ke pangkalan data, anda boleh menggunakan fungsi mysqli_connect()
PHP: mysqli_connect()
函数:
$mysqli = mysqli_connect("localhost", "root", "password", "database_name");
此函数返回一个 mysqli
对象,它表示与数据库的连接。如果连接失败,它会返回 false。
错误处理
错误处理对于确保连接到数据库的代码的可靠性至关重要。使用 mysqli 函数 mysqli_error()
和 mysqli_errno()
来获取连接错误信息:
if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; }
持久连接
持久连接有助于提高应用程序的性能,因为它可以复用先前建立的连接。要启用持久连接,请使用 mysqli_pconnect()
函数:
$mysqli = mysqli_pconnect("localhost", "root", "password", "database_name");
高级特性
预处理语句
预处理语句可以防止 SQL 注入攻击,并提高查询性能:
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ?"); $stmt->bind_param("s", $username); $stmt->execute();
事务
事务允许您将多个数据库操作组合成一个事务性单元。如果任何操作失败,整个事务将回滚:
$mysqli->begin_transaction(); $mysqli->query("INSERT INTO orders (product_id, quantity) VALUES (1, 5)"); $mysqli->commit();
实战案例:读取用户数据
假设您有一个 users
表,其中包含 id
, username
, email
$mysqli = mysqli_connect("localhost", "root", "password", "database_name"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } $sql = "SELECT * FROM users"; $result = $mysqli->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "ID: " . $row["id"] . "
"; echo "Username: " . $row["username"] . "
"; echo "Email: " . $row["email"] . "
"; } } else { echo "No users found."; } $mysqli->close();
mysqli
, yang Mewakili sambungan ke pangkalan data. Jika sambungan gagal, ia kembali palsu. Pengendalian Ralat
Pengendalian ralat adalah penting untuk memastikan kebolehpercayaan kod yang disambungkan ke pangkalan data. Gunakan fungsi mysqlimysqli_error()
dan mysqli_errno()
untuk mendapatkan maklumat ralat sambungan: 🎜rrreee🎜🎜Sambungan berterusan🎜🎜🎜Sambungan berterusan membantu meningkatkan prestasi aplikasi, Kerana ia boleh guna semula sambungan yang telah ditetapkan sebelumnya. Untuk mendayakan sambungan berterusan, gunakan fungsi mysqli_pconnect()
: 🎜rrreee🎜🎜Ciri lanjutan🎜🎜🎜🎜Pernyataan yang disediakan🎜🎜🎜Pernyataan yang disediakan boleh menghalang serangan suntikan SQL dan meningkatkan prestasi pertanyaan🎜 rrreee Transaksi🎜🎜🎜Transaksi membolehkan anda menggabungkan berbilang operasi pangkalan data ke dalam unit transaksi. Jika mana-mana operasi gagal, keseluruhan transaksi akan ditarik balik: 🎜rrreee🎜🎜Contoh praktikal: Membaca data pengguna🎜🎜🎜Andaikan anda mempunyai jadual pengguna
, yang mengandungi id
, lajur nama pengguna
, e-mel
. Cipta skrip PHP untuk membaca semua maklumat pengguna: 🎜rrreee🎜🎜Kesimpulan🎜🎜🎜Dengan mengikuti langkah yang diterangkan dalam artikel ini, anda boleh mewujudkan sambungan pangkalan data PHP yang kukuh dan boleh dipercayai. Tingkatkan prestasi dan keselamatan kod anda dengan penyata, transaksi dan ciri lanjutan yang disediakan. 🎜Atas ialah kandungan terperinci Panduan Terbaik untuk Sambungan Pangkalan Data PHP: Meliputi Semua yang Anda Perlu Tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!