我有这个简单的PHP代码:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($quer);
print_r($query2);它只返回以下内容:
Array ( [title] => Kill Bill Vol 1. [url_title] => kill_bill_vol_1 )我在表中有SQL行,在PhpMyAdmin中运行3500+可以很好地工作。
发布于 2010-12-07 08:04:38
$query = mysql_query("SELECT `title`,
`url_title`
FROM `fastsearch`
WHERE `tags`
LIKE '%$q%'
LIMIT 5");
while ($row = mysql_fetch_assoc($query)) {
print_r($row);
}在example
mysql_fetch_assoc()中拼写错误的$query都会返回一行,当超出行数时返回FALSE。通过在条件中为其分配一个变量来利用这一点。在while()循环中,$row将是当前行。发布于 2010-12-07 08:04:28
对,您没有正确获取结果。
mysql_fetch_assoc()一次只返回一行。使用循环读取所有行。
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$resultSet = array();
while ($cRecord = mysql_fetch_assoc($query)) {
$resultSet[] = $cRecord;
}发布于 2010-12-07 08:06:03
正如documentation http://php.net/manual/en/function.mysql-fetch-assoc.php所述:
mysql_fetch_assoc — Fetch a result row as an associative array因此,如果你想迭代结果,你必须使用一个循环,例如:
while ($row = mysql_fetch_assoc($result)) {
echo $row["title"];
echo $row["url_title"];
}https://stackoverflow.com/questions/4372197
复制相似问题