首頁 >後端開發 >php教程 >為什麼在 PHP 中使用 mysql_fetch_assoc() 時 MySQL 只回傳一行?

為什麼在 PHP 中使用 mysql_fetch_assoc() 時 MySQL 只回傳一行?

Susan Sarandon
Susan Sarandon原創
2024-11-02 14:43:30673瀏覽

Why Does MySQL Only Return One Row When Using `mysql_fetch_assoc()` in PHP?

為什麼MySQL 在PHP 中只回傳一行

在MySQL 中,使用PHP 內建的mysql_* 函數,當預期查詢結果傳回多行,但僅可存取第一行。

要解決此問題,請考慮以下 PHP 程式碼:

<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($query);
print_r($query2);</code>

此程式碼僅取得查詢結果的第一行並顯示它。要存取剩餘的行,應使用while() 循環:

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

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}</code>

附加說明:

  • 原始查詢應更正為使用mysql_fetch_assoc() 正確,因為它的回傳類型是行。
  • 當 mysql_fetch_assoc() 傳回 FALSE 時,while() 迴圈終止,表示沒有更多行可用。

以上是為什麼在 PHP 中使用 mysql_fetch_assoc() 時 MySQL 只回傳一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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