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

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

Susan Sarandon
發布: 2024-11-02 14:43:30
原創
661 人瀏覽過

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中文網其他相關文章!

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