PHP SQL只返回1个响应而不是多个响应

时间:2011-10-01 20:53:06

标签: php mysql records

这是PHP,我会解释一下

$query = "SELECT id, attendees FROM events WHERE creator = '63' AND attendees LIKE '%74%'";

$result = mysqli_query($dbc,$query);

$uid_events = mysqli_fetch_array($result,MYSQLI_ASSOC);

echo $_GET['callback'] . '("' . stripslashes(json_encode($uid_events)) . '");';

这是一个jquery JSONP请求,我正在尝试检索2条记录。

当我直接在我的数据库中测试这个完全相同的查询时,我得到了这两条记录:

34acb43ccc4c34b911ba8b7d850a846b63 - 63,1,74     
09fa87b2ed809d6741c43dd669c83e1a63 - 63,74

但PHP回应了:

({"id":"34acb43ccc4c34b911ba8b7d850a846b63","attendees":"63,1,74"}");

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:2)

试试这个:

while ($uid_events = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
   echo $_GET['callback'] . '("' . stripslashes(json_encode($uid_events)) . '");';
}

答案 1 :(得分:1)

函数mysqli_fetch_array只获取一行(如果没有更多行,则返回FALSE)。如果要读取所有行,则应在循环中运行此语句,直到返回FALSE。

答案 2 :(得分:1)

mysqli_featch_array()返回单行,然后将光标前进到下一行。要获取所有行,您需要在循环中调用它。