首頁 >資料庫 >mysql教程 >為什麼我的 PHP 中的 MySQL 查詢只會回傳一行?

為什麼我的 PHP 中的 MySQL 查詢只會回傳一行?

Barbara Streisand
Barbara Streisand原創
2024-12-01 03:54:11703瀏覽

Why Does My MySQL Query in PHP Only Return One Row?

MySQL 查詢僅傳回一行:偵錯與解決

使用MySQL 時,遇到PHP 腳本僅令人擷取困惑。當查詢本身有效,但腳本的實作阻止它檢索所有預期的行時,就會出現此問題。

解決問題

考慮提供的PHP 程式碼,其中執行查詢以從資料表中擷取行:

$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($quer);
print_r($query2);

雖然SQLfastsearch 表中擷取行:

雖然SQL 查詢返回多個行,腳本僅顯示一行。出現此行為的原因是 mysql_fetch_assoc() 預設情況下僅取得一行。要檢索所有行,我們需要使用循環來迭代它們。

解決方案:使用while 循環擷取多行

$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}

修正後的程式碼片段將使用while 循環迭代查詢結果並列印每一行:

在此更新的程式碼中, mysql_fetch_assoc() 在循環內調用,並且$row變數被指派當前行。這允許循環遍歷查詢結果中的每一行,從而允許列印所有行。

以上是為什麼我的 PHP 中的 MySQL 查詢只會回傳一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn