Rumah > Artikel > pembangunan bahagian belakang > Amaran PHP: Penyelesaian kepada mysql_fetch_array() menjangkakan parameter
Amaran PHP: mysql_fetch_array() mengharapkan parameter - Sebab dan penyelesaian untuk mesej amaran
Dalam PHP, apabila kita menggunakan fungsi mysql_fetch_array(), kadangkala mesej amaran ini akan muncul: Amaran PHP : mysql_fetch_array() menjangka parameter. Mesej amaran ini sangat biasa, tetapi ia sebenarnya mudah untuk diselesaikan. Dalam artikel ini, saya akan menganalisis sebab mengapa mesej amaran ini muncul dan memberikan penyelesaian yang sepadan.
Amaran PHP: mysql_fetch_array() menjangkakan parameter - sebab mesej amaran
Apabila menggunakan fungsi mysql_fetch_array(), kita perlu lulus parameter - pengecam sumber hasil pertanyaan ( pengecam hasil). Pengecam sumber ini dikembalikan selepas menanyakan data menggunakan fungsi mysql_query(). Jika kami tidak menghantar pengecam sumber ini dengan betul, Amaran PHP: mysql_fetch_array() menjangkakan mesej amaran parameter akan muncul.
Berikut ialah contoh kod yang memaparkan mesej amaran ini:
<?php // 连接数据库 $link = mysql_connect('localhost', 'root', '123456') or die('Could not connect: ' . mysql_error()); // 选择数据库 mysql_select_db('test', $link) or die('Could not select database'); // 执行查询 $result = mysql_query('SELECT * FROM `user`'); // 遍历结果集 while($row = mysql_fetch_array()) { // 输出每行数据 echo $row['username'] . " " . $row['password'] . " "; } // 释放查询结果 mysql_free_result($result); // 关闭数据库连接 mysql_close($link); ?>
Dalam kod di atas, fungsi mysql_fetch_array() tidak melepasi sebarang parameter, jadi mesej amaran ini muncul.
Cara menyelesaikan Amaran PHP: mysql_fetch_array() menjangkakan parameter - mesej amaran
Cara untuk menyelesaikan masalah ini sangat mudah, hanya lulus pengecam sumber hasil pertanyaan dalam mysql_fetch_array() fungsi . Dalam kod sampel kami, kami hanya perlu menukar panggilan fungsi ini kepada bentuk berikut:
while($row = mysql_fetch_array($result)) { // 输出每行数据 echo $row['username'] . " " . $row['password'] . " "; }
Kod kini menghantar pengecam sumber dengan betul, jadi mesej amaran ini tidak akan muncul lagi.
Selain itu, ia juga disyorkan untuk tidak menggunakan fungsi mysql_ kerana ia telah ditandakan sebagai fungsi yang tidak digunakan lagi. Sebaliknya terdapat fungsi mysqli_ dan PDO (Objek Data PHP).
Ringkasan
Amaran PHP: mysql_fetch_array() menjangkakan parameter - Mesej amaran disebabkan oleh tidak menghantar parameter fungsi mysql_fetch_array() dengan betul - pengecam sumber hasil pertanyaan. Untuk menyelesaikan masalah ini, hanya lulus pengecam sumber ini dalam panggilan fungsi. Pada masa yang sama, anda juga disyorkan untuk menggunakan kaedah capaian pangkalan data yang lebih moden dan selamat, seperti fungsi mysqli_* dan PDO.
Atas ialah kandungan terperinci Amaran PHP: Penyelesaian kepada mysql_fetch_array() menjangkakan parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!