Rumah > Artikel > pembangunan bahagian belakang > PHP melaksanakan pernyataan pertanyaan pangkalan data
PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular dengan API operasi pangkalan data terbina dalam yang kaya. Bagi pembangun, dapat menggunakan PHP dengan mahir untuk mengendalikan pangkalan data adalah kemahiran yang sangat penting. Dalam artikel ini, kami akan memberi tumpuan kepada cara melaksanakan pernyataan pertanyaan pangkalan data dalam PHP.
1. Sambung ke pangkalan data
Menyambung ke pangkalan data dalam PHP biasanya menggunakan mysqli atau PDO. Berikut ialah contoh kod untuk menggunakan mysqli untuk menyambung ke pangkalan data MySQL:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检查连接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
2. Jalankan pernyataan pertanyaan
Selepas berjaya menyambung ke pangkalan data, kita boleh mula melaksanakan pernyataan pertanyaan SQL . Berikut ialah contoh kod untuk melaksanakan pernyataan pertanyaan menggunakan mysqli:
<?php $sql = "SELECT id, name, email FROM users"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?>
Dalam kod di atas, kami menggunakan pernyataan SELECT untuk membaca data daripada pangkalan data dan menyimpan data dalam tatasusunan bersekutu melalui mysqli_fetch_assoc() fungsi. Akhir sekali, hasil pertanyaan adalah output melalui while loop traversal.
3. Cegah serangan suntikan SQL
Apabila melaksanakan pernyataan pertanyaan pangkalan data, perhatian khusus perlu diberikan kepada serangan suntikan SQL. Jika tiada langkah perlindungan diambil, pengguna yang berniat jahat boleh melakukan operasi yang menyalahi undang-undang dengan menyambungkan pernyataan SQL yang berniat jahat, seperti mengusik, memadamkan data, dsb. Oleh itu, dalam pembangunan sebenar, kenyataan yang disediakan mesti digunakan untuk menyusun semula pernyataan SQL untuk mengelakkan serangan suntikan SQL. Berikut ialah contoh kod yang menggunakan penyata yang disediakan mysqli untuk melaksanakan penyataan pertanyaan:
<?php $stmt = $conn->prepare("SELECT id, name, email FROM users WHERE email= ? "); $email = "john@example.com"; $stmt->bind_param("s", $email); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } $stmt->close(); $conn->close(); ?>
Dalam kod di atas, kami mula-mula menggunakan fungsi prepare() untuk menyusun semula pernyataan SQL dan menggabungkan syarat pertanyaan dengan SQL melalui kaedah bind_param() Penyata mengikat. Akhir sekali, dapatkan hasil pertanyaan melalui fungsi get_result() dan dapatkan data menggunakan kaedah fetch_assoc().
Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan mysqli dan PDO untuk menyambung ke pangkalan data dalam PHP dan melaksanakan pernyataan pertanyaan untuk mengelakkan serangan suntikan SQL. Dengan mempelajari dan menguasai kemahiran ini, anda akan dapat mengendalikan pangkalan data dengan lebih mahir dalam pembangunan PHP dan meningkatkan kecekapan dan keselamatan pembangunan.
Atas ialah kandungan terperinci PHP melaksanakan pernyataan pertanyaan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!