Rumah >pembangunan bahagian belakang >tutorial php >Amaran PHP: Penyelesaian kepada mysql_fetch_array() menjangkakan parameter

Amaran PHP: Penyelesaian kepada mysql_fetch_array() menjangkakan parameter

WBOY
WBOYasal
2023-06-22 09:41:381201semak imbas

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!

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