Rumah > pembangunan bahagian belakang > masalah PHP > Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()?

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()?

Robert Michael Kim
Lepaskan: 2025-03-20 16:55:47
asal
934 orang telah melayarinya

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()?

Fungsi mysqli_query() dalam PHP digunakan untuk melaksanakan pertanyaan SQL terhadap pangkalan data MySQL. Fungsi ini boleh digunakan untuk melaksanakan pelbagai jenis operasi SQL, seperti Pilih, Masukkan, Kemas kini, dan Padam. Apabila mysqli_query() dipanggil, ia menghantar pertanyaan SQL ke pelayan MySQL, dan pelayan memproses pertanyaan. Fungsi ini mengembalikan objek hasil jika pertanyaan adalah pernyataan pilih, atau benar/palsu untuk jenis pertanyaan lain yang menunjukkan kejayaan atau kegagalan.

Sebaliknya, mysqli_fetch_assoc() adalah fungsi yang digunakan untuk mendapatkan hasil pertanyaan pilih yang dilaksanakan oleh mysqli_query() . Khususnya, ia mengembalikan baris seterusnya dari hasil yang ditetapkan sebagai array bersekutu, di mana nama lajur adalah kunci, dan data dari lajur yang sepadan adalah nilai. Fungsi ini dipanggil berulang kali sehingga tidak ada lagi baris untuk diambil, di mana ia akan kembali null.

Bagaimanakah mysqli_query () berbeza dari mysqli_fetch_assoc () dalam fungsi mereka?

Perbezaan utama antara mysqli_query() dan mysqli_fetch_assoc() terletak pada peranan khusus mereka dalam proses berinteraksi dengan pangkalan data MySQL.

mysqli_query() bertanggungjawab untuk melaksanakan arahan SQL. Ia menghantar pertanyaan SQL ke pelayan MySQL dan mengendalikan aspek komunikasi. Sama ada ia mengambil data, mengemas kini rekod, memasukkan data baru, atau memadam data, mysqli_query() bertindak sebagai pintu masuk yang mana arahan ini dilaksanakan. Ia mengembalikan sama ada objek hasil untuk pertanyaan yang mengambil data, atau nilai boolean yang menunjukkan kejayaan atau kegagalan operasi untuk pertanyaan yang tidak mengambil data.

Sebaliknya, mysqli_fetch_assoc() tidak melaksanakan pertanyaan tetapi sebaliknya memproses hasil pertanyaan pilih yang telah dilaksanakan oleh mysqli_query() . Ia mengambil objek hasil yang dikembalikan oleh mysqli_query() dan mengambil semula baris data mengikut baris dalam bentuk array bersekutu. Fungsi ini digunakan untuk melangkah melalui hasil pertanyaan dan data akses secara berstruktur.

Bolehkah anda menerangkan contoh praktikal menggunakan mysqli_query () dan mysqli_fetch_assoc () bersama -sama dalam skrip php?

Mari kita pertimbangkan contoh di mana kita mahu mengambil semua rekod pengguna dari jadual pangkalan data yang dinamakan users dan memaparkannya di laman web. Berikut adalah cara anda menggunakan mysqli_query() dan mysqli_fetch_assoc() bersama dalam skrip php:

 <code class="php"><?php // Assuming the connection to the database has already been established and stored in $conn // Execute the query to fetch all users $result = mysqli_query($conn, "SELECT id, username, email FROM users"); // Check if the query was successful if ($result) { // Start HTML table output echo "<table border=&#39;1&#39;> <tr> <th>ID</th> <th>Username</th> <th>Email</th> </tr>"; // Iterate through the result set while ($row = mysqli_fetch_assoc($result)) { echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['username'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } // Close the table echo ""; } else { // Output error message echo "Error: " . mysqli_error($conn); } // Close the database connection mysqli_close($conn); ?></code>
Salin selepas log masuk

Dalam contoh ini, mysqli_query() digunakan untuk melaksanakan pertanyaan pilih untuk mengambil data dari jadual users . Hasil pertanyaan ini kemudian diproses menggunakan mysqli_fetch_assoc() dalam gelung, yang mengambil setiap baris satu demi satu sebagai array bersekutu. Data dari baris ini digunakan untuk membina jadual HTML untuk paparan.

Apakah faedah menggunakan mysqli_fetch_assoc () melalui fungsi mysqli_fetch yang lain?

Menggunakan mysqli_fetch_assoc() mempunyai beberapa faedah berbanding fungsi mysqli_fetch yang lain, seperti mysqli_fetch_array() , mysqli_fetch_row() , dan mysqli_fetch_object() :

  1. Kemudahan Akses : Dengan mysqli_fetch_assoc() , anda boleh mengakses data dengan nama lajur (kunci) dalam array bersekutu. Ini menjadikan kod lebih mudah dibaca dan lebih mudah difahami, terutamanya dalam aplikasi yang kompleks dengan banyak lajur.
  2. Fleksibiliti : Walaupun mysqli_fetch_array() boleh mengembalikan data sebagai kedua -dua array bersekutu dan array yang diindeks secara berangka, menggunakan mysqli_fetch_assoc() khusus untuk array bersekutu dapat membantu mengekalkan pendekatan yang konsisten untuk pengendalian data sepanjang skrip anda.
  3. Pengendalian data intuitif : Array bersekutu sejajar dengan cara data disusun dalam pangkalan data dan bagaimana ia biasanya diproses dalam PHP. Ini boleh membawa kepada manipulasi data yang lebih intuitif dan traversal dalam skrip anda.
  4. Kerumitan yang dikurangkan : Dengan memberi tumpuan kepada tatasusunan bersekutu, anda tidak perlu berurusan dengan kerumitan tambahan yang datang dengan menggunakan indeks bersekutu dan angka, seperti halnya dengan mysqli_fetch_array() .

Secara keseluruhannya, mysqli_fetch_assoc() menawarkan kaedah yang mudah dan fleksibel untuk menangani set hasil dari pertanyaan MySQL dalam PHP, yang dapat meningkatkan kebolehbacaan dan pemeliharaan kod anda.

Atas ialah kandungan terperinci Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan