クエリから 1 行のみを返す MySQL
問題:
SQL の実行時複数の行を返す必要があるクエリですが、PHP の mysql_query() および mysql_fetch_assoc() を使用して 1 行だけが取得されます。 PhpMyAdmin で直接実行された SQL クエリは、予期されるすべての行を返します。
解決策:
オプション 1: ループを使用して行を反復する
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); while ($row = mysql_fetch_assoc($query)) { print_r($row); }
オプション 2: mysql_fetch_array() を使用して行の配列を取得する
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $rows = array(); while ($row = mysql_fetch_array($query)) { $rows[] = $row; }
注:
以上がMySQL クエリを PHP で実行すると 1 行しか返さないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。