嘗試使用PHP 從MySQL 表中檢索多行時,您可能會遇到僅返回一行的情況,儘管有幾行符合您的查詢條件。此問題可能是由於程式碼實作不正確而引起的。
在提供的 PHP 程式碼中:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $query2 = mysql_fetch_assoc($quer); print_r($query2);
問題在於 mysql_fetch_assoc($quer) 的使用。此函數僅檢索結果集的第一行並將其指派給 $query2。若要檢索與查詢相符的所有行,您需要使用 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 循環中的 $row 變量,確保檢索並顯示所有匹配的行。
以上是為什麼當存在多行時我的 PHP MySQL 查詢只會回傳一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!