Dalam pembangunan laman web, selalunya perlu mendapatkan data daripada pangkalan data dan memaparkannya pada halaman. Sebagai bahasa skrip sebelah pelayan yang biasa digunakan, PHP boleh membuat pertanyaan dan mengendalikan pangkalan data dengan mudah.
PHP menyediakan tiga API utama untuk mengendalikan pangkalan data MySQL: MySQLi, PDO dan pustaka sambungan MySQL. Antaranya, MySQLi adalah yang paling biasa digunakan Di sini kami memperkenalkan cara menggunakan MySQLi untuk menanyakan data pangkalan data.
Pertama, anda perlu menyambung ke pangkalan data dalam kod PHP. Cara menggunakan MySQLi adalah seperti berikut:
$servername = "localhost"; // 数据库服务器名称 $username = "username"; // 数据库用户名 $password = "password"; // 数据库密码 $dbname = "database_name"; // 数据库名称 // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
Selepas sambungan berjaya, anda boleh menghantar permintaan pertanyaan ke pangkalan data. Kod berikut menunjukkan cara untuk menanyakan semua data daripada pangkalan data:
// 查询语句 $sql = "SELECT * FROM table_name"; // 执行查询 $result = mysqli_query($conn, $sql); // 检测是否有数据 if (mysqli_num_rows($result) > 0) { // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; } } else { echo "0 results"; }
Dalam kod ini, semua data pertama kali disoal dan hasilnya disimpan dalam pembolehubah $result. Kemudian, gunakan pernyataan gelung untuk melintasi setiap baris data hasil dan keluarkan data untuk setiap baris.
Kadangkala anda perlu menanyakan data khusus, anda boleh menambah syarat pertanyaan. Contohnya, tanya semua data yang umurnya melebihi 20 tahun:
// 查询语句 $sql = "SELECT * FROM table_name WHERE age > 20"; // 执行查询 $result = mysqli_query($conn, $sql); // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; }
Dalam kod ini, klausa WHERE ditambahkan pada pernyataan pertanyaan untuk menapis data yang memenuhi syarat.
Kadangkala anda perlu mengisih hasil pertanyaan mengikut nilai lajur tertentu Anda boleh menggunakan klausa ORDER BY dalam pernyataan pertanyaan. Contohnya, untuk mengisih keputusan pertanyaan dalam tertib umur menaik:
// 查询语句 $sql = "SELECT * FROM table_name ORDER BY age ASC"; // 执行查询 $result = mysqli_query($conn, $sql); // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; }
Dalam kod ini, klausa ORDER BY ditambahkan pada pernyataan pertanyaan untuk mengisih keputusan pertanyaan dalam tertib menaik nilai lajur umur.
Kadangkala anda perlu mengehadkan bilangan hasil pertanyaan, anda boleh menggunakan klausa LIMIT. Contohnya, tanya 5 keping data pertama:
// 查询语句 $sql = "SELECT * FROM table_name LIMIT 5"; // 执行查询 $result = mysqli_query($conn, $sql); // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; }
Dalam kod ini, klausa LIMIT ditambahkan pada pernyataan pertanyaan untuk mengehadkan bilangan hasil pertanyaan.
Akhir sekali, ingat untuk menutup sambungan pangkalan data selepas pertanyaan selesai:
// 关闭连接 mysqli_close($conn);
Ringkasan
di atas adalah pertanyaan menggunakan kaedah data Pangkalan Data PHP. Perlu diingatkan bahawa dalam pembangunan sebenar, untuk mengelakkan masalah keselamatan seperti suntikan SQL, nilai yang dimasukkan oleh pengguna perlu ditapis dan dilepaskan. Adalah disyorkan untuk menggunakan pernyataan yang disediakan untuk melaksanakan pertanyaan SQL, yang boleh menghalang serangan suntikan SQL dengan berkesan.
Saya harap artikel ini dapat membantu anda lebih memahami cara PHP membuat pertanyaan data pangkalan data.
Atas ialah kandungan terperinci Tanya data pangkalan data dengan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!