首頁 > 後端開發 > php教程 > PHP Warning: mysql_fetch_array() expects parameter的解決方法

PHP Warning: mysql_fetch_array() expects parameter的解決方法

WBOY
發布: 2023-06-22 10:26:02
原創
1210 人瀏覽過

PHP Warning: mysql_fetch_array() expects parameter - 警告訊息出現的原因以及解決方法

在PHP 中,當我們使用mysql_fetch_array() 函數時,有時會出現這樣的警告訊息:PHP Warning : mysql_fetch_array() expects parameter。這個警告提示非常常見,但其實是很容易解決的。在本文中,我將為大家分析這個警告訊息出現的原因,並提供相應的解決方法。

出現PHP Warning: mysql_fetch_array() expects parameter - 警告訊息的原因

在使用mysql_fetch_array() 函數時,我們需要傳遞一個參數-查詢結果的資源識別碼(result identifier )。這個資源標識符是在使用 mysql_query() 函數查詢資料後傳回的。如果我們沒有正確地傳遞這個資源標識符,就會出現 PHP Warning: mysql_fetch_array() expects parameter 的警告訊息。

以下是一個範例程式碼,其中出現了這個警告訊息:

<?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);  
?>
登入後複製

在上面的程式碼中,mysql_fetch_array() 函數沒有傳遞任何參數,因此出現了這個警告訊息。

如何解決PHP Warning: mysql_fetch_array() expects parameter - 警告訊息

解決這個問題的方法很簡單,只需要在mysql_fetch_array() 函數中傳遞查詢結果的資源標識符即可。在我們的範例程式碼中,只需要將這個函數的呼叫改為以下形式即可:

while($row = mysql_fetch_array($result)) {  
    // 输出每行数据  
    echo $row['username'] . "    " . $row['password'] . "
";  
} 
登入後複製

現在的程式碼已經正確傳遞了資源標識符,因此這個警告訊息就不會再出現了。

另外,也建議大家不要使用 mysql_ 函數,因為它們已經被標記為廢棄的函數。取而代之的是 mysqli_ 函數和 PDO(PHP 資料物件)。

總結

PHP Warning: mysql_fetch_array() expects parameter - 警告訊息是因為沒有正確傳遞 mysql_fetch_array() 函數的參數-查詢結果的資源識別碼而導致的。為了解決這個問題,只需要在函數呼叫中傳遞這個資源標識符。同時,也建議大家使用更現代和安全的資料庫存取方法,如 mysqli_* 函數和 PDO。

以上是PHP Warning: mysql_fetch_array() expects parameter的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板