-1
 $query = "SELECT * FROM table WHERE data = '$userinput'";
 $row = mysql_query($query);

   while ($row = mysql_fetch_array($row))
    {
         echo $row['data'];
    }

好的所以我的问题是:

  1. mysql_fetch_array 究竟返回什么?
  2. 如果我的 WHERE 子句找到多个匹配项,循环不应该执行多次吗?

我正在运行一个程序,我只能打印第一个结果

4

3 回答 3

3

你正在覆盖$row. 而是为查询结果使用不同的变量。

$query = "SELECT * FROM table WHERE data = '$userinput'";
$result = mysql_query($query);

while ($row = mysql_fetch_array($result))
{
    echo $row['data'];
}
于 2013-02-03T04:36:53.220 回答
0

尝试使用mysql_fetch_assoc($row)

于 2013-02-03T04:36:08.753 回答
0

您不应使用与索引和循环变量相同的变量。

$row = mysql_query

while( $row = ...

将第一个替换$row$result

于 2013-02-03T04:38:13.197 回答