Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua pertanyaan pangkalan data PHP: Cara menggunakan fungsi mysqli_query untuk melaksanakan pertanyaan SQL

Petua pertanyaan pangkalan data PHP: Cara menggunakan fungsi mysqli_query untuk melaksanakan pertanyaan SQL

王林
王林asal
2023-07-29 16:42:412060semak imbas

Petua Pertanyaan Pangkalan Data PHP: Cara menggunakan fungsi mysqli_query untuk melaksanakan pertanyaan SQL

Interaksi dengan pangkalan data adalah bahagian yang sangat penting semasa membangunkan aplikasi PHP. Untuk operasi pertanyaan, PHP menyediakan beberapa fungsi terbina dalam untuk melaksanakan pernyataan SQL. Artikel ini akan memberi tumpuan kepada cara menggunakan fungsi mysqli_query untuk membantu pembangun melaksanakan operasi pertanyaan pangkalan data dengan lebih baik.

1. Pengenalan kepada fungsi mysqli_query
Fungsi mysqli_query ialah fungsi terbina dalam PHP, digunakan untuk melaksanakan pernyataan pertanyaan SQL. Sintaks asasnya adalah seperti berikut:

mysqli_query($连接对象, $SQL语句);

Antaranya, objek $connection ialah objek sambungan pangkalan data yang dicipta melalui fungsi mysqli_connect, dan pernyataan $SQL ialah pernyataan operasi pertanyaan yang akan dilaksanakan.

2. Gunakan fungsi mysqli_query untuk melakukan pertanyaan mudah
Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi mysqli_query untuk melaksanakan operasi pertanyaan:

<?php
// 创建数据库连接
$connection = mysqli_connect("localhost", "用户名", "密码", "数据库名");

// 检查连接是否成功
if (!$connection) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 执行查询语句
$result = mysqli_query($connection, "SELECT * FROM users");

// 遍历查询结果
while ($row = mysqli_fetch_assoc($result)) {
    echo "ID:" . $row["id"] . ",姓名:" . $row["name"] . ",年龄:" . $row["age"] . "<br>";
}

// 关闭数据库连接
mysqli_close($connection);
?>

Dalam kod di atas, mula-mula gunakan fungsi mysqli_connect untuk membuat sambungan pangkalan data objek $sambungan. Kemudian, pernyataan pertanyaan ringkas "SELECT * FROM users" dilaksanakan menggunakan fungsi mysqli_query, dan keputusan pertanyaan disimpan dalam pembolehubah $result. Akhir sekali, gunakan fungsi mysqli_fetch_assoc untuk mengambil satu baris rekod daripada $result dan beroperasi padanya.

3. Memproses hasil pertanyaan
Selepas fungsi mysqli_query melaksanakan pernyataan pertanyaan, hasil yang dikembalikan boleh diproses dalam pelbagai cara. Kaedah yang biasa digunakan termasuk fungsi mysqli_fetch_assoc, fungsi mysqli_fetch_array dan fungsi mysqli_fetch_row.

  1. fungsi mysqli_fetch_assoc: Mengembalikan tatasusunan bersekutu (dengan nama medan sebagai kunci).
  2. fungsi mysqli_fetch_array: Mengembalikan gabungan tatasusunan bersekutu dan tatasusunan indeks. Fungsi
  3. mysqli_fetch_row: Mengembalikan tatasusunan indeks (dengan indeks medan sebagai nama kunci).

Apabila menggunakan fungsi ini, anda perlu menggunakan pernyataan gelung untuk memproses keputusan pertanyaan baris demi baris untuk mendapatkan semula semua rekod.

4. Pengendalian pengecualian hasil pertanyaan
Apabila melaksanakan operasi pertanyaan, ralat kadangkala berlaku, seperti ralat sintaks, gangguan sambungan pangkalan data, dsb. Untuk mengelakkan ralat ini menyebabkan aplikasi ranap, kita perlu mengendalikan ralat dengan sewajarnya. Maklumat ralat operasi pertanyaan boleh diperolehi melalui fungsi mysqli_error, seperti yang ditunjukkan di bawah:

<?php
$result = mysqli_query($connection, $sql);
if (!$result) {
    die("查询失败:" . mysqli_error($connection));
}
?>

Dalam contoh di atas, jika pertanyaan gagal, kami memperoleh maklumat ralat melalui fungsi mysqli_error dan mencetaknya menggunakan fungsi die. Dengan cara ini, masalah dapat ditemui dan diselesaikan dalam masa.

5. Pertimbangan keselamatan
Apabila melakukan pertanyaan pangkalan data, kami juga perlu mempertimbangkan isu keselamatan untuk mengelakkan serangan suntikan berniat jahat. Untuk mengelakkan situasi ini, anda boleh menggunakan fungsi mysqli_real_escape_string untuk melarikan data yang dimasukkan oleh pengguna, seperti yang ditunjukkan di bawah:

<?php
$name = mysqli_real_escape_string($connection, $_POST["name"]);
$sql = "SELECT * FROM users WHERE name='$name'";
$result = mysqli_query($connection, $sql);
?>

Dalam contoh di atas, kami menggunakan fungsi mysqli_real_escape_string untuk melepaskan $name yang dimasukkan oleh pengguna Kemudian gunakannya sebagai sebahagian daripada pernyataan pertanyaan. Ini memastikan bahawa data yang dimasukkan oleh pengguna tidak memusnahkan struktur pernyataan pertanyaan, dengan itu mengelakkan serangan suntikan SQL.

Ringkasan:
Artikel ini terutamanya memperkenalkan cara menggunakan fungsi mysqli_query untuk melaksanakan operasi pertanyaan SQL. Dengan menguasai penggunaan asas fungsi mysqli_query, pembangun boleh mengendalikan pangkalan data dengan lebih mudah dan meningkatkan kecekapan pembangunan. Di samping itu, apabila melakukan pertanyaan pangkalan data, perhatian mesti diberikan kepada pengendalian pengecualian dan pertimbangan keselamatan untuk memastikan kestabilan dan keselamatan sistem. Saya harap artikel ini akan membantu pertanyaan pangkalan data anda dalam pembangunan PHP.

Atas ialah kandungan terperinci Petua pertanyaan pangkalan data PHP: Cara menggunakan fungsi mysqli_query untuk melaksanakan pertanyaan SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn