Dalam pengaturcaraan PHP, pernyataan pertanyaan SQL ialah alat penting yang sering digunakan oleh pembangun. PHP menyediakan pelbagai cara untuk menulis pertanyaan SQL, salah satunya adalah menggunakan pertanyaan SQL asli.
Pernyataan pertanyaan SQL asli merujuk kepada menulis pernyataan SQL secara langsung dalam kod PHP dan kemudian menghantarnya ke pangkalan data untuk dilaksanakan. Berbanding dengan menggunakan rangka kerja atau perpustakaan ORM, pernyataan pertanyaan SQL asli adalah lebih ringkas, lebih jelas dan lebih mudah untuk difahami serta nyahpepijat.
Artikel ini akan memperkenalkan anda kepada penggunaan biasa dan langkah berjaga-jaga bagi pernyataan pertanyaan SQL asli PHP.
1 Sambung ke pangkalan data
Sebelum melaksanakan pernyataan pertanyaan SQL, anda perlu menyambung ke pangkalan data terlebih dahulu. PHP menyediakan pelbagai cara untuk menyambung ke pangkalan data MySQL, seperti:
//连接 MySQL 数据库 $link = mysqli_connect("localhost", "root", "password", "test"); if (!$link) { die("连接失败: " . mysqli_connect_error()); }
Antaranya, fungsi mysqli_connect
akan mengembalikan objek sambungan $link
, dan jika sambungan gagal, false
akan dikembalikan. Jika sambungan berjaya, anda boleh melaksanakan pernyataan pertanyaan SQL melalui objek $link
.
2. Tanya data jadual
Gunakan pernyataan SQL SELECT * FROM table_name
untuk menanyakan semua data dalam jadual table_name
. Dalam PHP, anda boleh menggunakan fungsi mysqli_query
untuk melaksanakan operasi pertanyaan, seperti:
//查询表中所有数据 $result = mysqli_query($link, "SELECT * FROM table_name"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 条结果"; }
Antaranya, fungsi mysqli_query
mengembalikan set hasil pertanyaan dan fungsi mysqli_num_rows
digunakan untuk mendapatkan baris dalam set hasil pertanyaan Nombor, fungsi mysqli_fetch_assoc
digunakan untuk mengembalikan sekeping data dalam set hasil pertanyaan dan menukarnya menjadi tatasusunan bersekutu.
Gunakan pernyataan SQL SELECT column1, column2 FROM table_name
untuk menanyakan data lajur yang ditentukan dalam jadual table_name
. Contohnya:
//查询表中指定列的数据 $result = mysqli_query($link, "SELECT name, age FROM table_name"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>"; } } else { echo "0 条结果"; }
Gunakan pernyataan SQL SELECT * FROM table_name WHERE conditions
untuk bertanya data dalam jadual table_name
mengikut syarat yang ditetapkan. Contohnya:
//按照指定条件查询表中的数据 $result = mysqli_query($link, "SELECT * FROM table_name WHERE age > 18"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>"; } } else { echo "0 条结果"; }
Antaranya, klausa WHERE
digunakan untuk menentukan syarat pertanyaan Contohnya, age > 18
bermaksud data pertanyaan yang umurnya melebihi 18 tahun.
3. Masukkan dan kemas kini data
Gunakan pernyataan SQL INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
untuk memasukkan data ke dalam jadual table_name
. Contohnya:
//插入数据到表中 $sql = "INSERT INTO table_name (name, age) VALUES ('张三', 20)"; if (mysqli_query($link, $sql)) { echo "执行成功"; } else { echo "执行失败:" . mysqli_error($link); }
Antaranya, lajur dan nilai data yang disisipkan hendaklah sepadan satu-dengan-satu Lajur hanya boleh dimasukkan ke dalam lajur yang ditentukan dan lajur yang tidak disisipkan akan menggunakan nilai lalainya.
Gunakan pernyataan SQL UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE conditions
untuk mengemas kini data dalam jadual table_name
. Contohnya:
//更新表中的数据 $sql = "UPDATE table_name SET name = '李四' WHERE id = 1"; if (mysqli_query($link, $sql)) { echo "执行成功"; } else { echo "执行失败:" . mysqli_error($link); }
Antaranya, klausa SET
digunakan untuk menentukan lajur dan nilai yang akan dikemas kini, dan klausa WHERE
digunakan untuk menentukan syarat data untuk dikemas kini.
4. Padam data
Gunakan pernyataan SQL DELETE FROM table_name WHERE conditions
untuk memadam data dalam jadual table_name
. Contohnya:
//删除表中的数据 $sql = "DELETE FROM table_name WHERE age < 18"; if (mysqli_query($link, $sql)) { echo "执行成功"; } else { echo "执行失败:" . mysqli_error($link); }
Antaranya, klausa WHERE
digunakan untuk menentukan syarat untuk data dipadamkan.
5. Ringkasan
Artikel ini memperkenalkan anda kepada penggunaan biasa dan langkah berjaga-jaga bagi pernyataan pertanyaan SQL asli. Dalam pengaturcaraan, memilih kaedah pertanyaan yang sesuai mengikut keperluan boleh membantu pembangun menyelesaikan pembangunan projek dengan lebih cepat dan cekap. Pada masa yang sama, untuk projek yang melibatkan operasi pangkalan data, perhatian khusus perlu diberikan kepada isu keselamatan, seperti suntikan SQL, dsb., untuk memastikan keselamatan data projek dan privasi pengguna.
Atas ialah kandungan terperinci Penggunaan biasa pernyataan pertanyaan sql asli php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!