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.
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.
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='1'> <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>
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.
Menggunakan mysqli_fetch_assoc()
mempunyai beberapa faedah berbanding fungsi mysqli_fetch
yang lain, seperti mysqli_fetch_array()
, mysqli_fetch_row()
, dan mysqli_fetch_object()
:
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.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.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!