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

PHP SQL只返回1个响应,而不是多个响应,php,mysql,records,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(jso

这是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"}");
任何帮助都将不胜感激。

试试以下方法:

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

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

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

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

返回一行,然后将光标移到下一行。要获取所有行,需要在循环中调用它。

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

我唯一想知道的是,
echo
'd行是否会保持不变。否,$uid\u事件将在while循环中更改,它将包含一个数组,其中包含所选查询中每行的数据。抱歉我的英语不好:)@Alon-我只是说,看看输出(在问题中),想象一下代码在客户端上做了什么。我不完全确定,但看起来输出在一行中有两行或更多行是没有用的。@JaredFarrish-我同意你的看法,他应该操作查询结果,然后在while循环中只输出数据库中的数据。实际上,所有必须完成的脚本都是在PHP脚本中完成的。我只是使用输出来帮助我调试。我唯一想知道的是,
echo
'd行是否会保持不变。否,$uid\u事件将在while循环期间更改,它将包含一个数组,其中包含select查询中每行的数据。抱歉我的英语不好:)@Alon-我只是说,看看输出(在问题中),想象一下代码在客户端上做了什么。我不完全确定,但看起来输出在一行中有两行或更多行是没有用的。@JaredFarrish-我同意你的看法,他应该操作查询结果,然后在while循环中只输出数据库中的数据。实际上,所有必须完成的脚本都是在PHP脚本中完成的。我只是使用输出来帮助我调试