ajax从mysqli获取json数据

时间:2017-01-13 22:46:33

标签: php ajax

我的Ajax看起来像这样:     $就({       方法:“GET”,       url:'yooarel.php?',       数据:servicedata,       dataType:“JSON”,       成功:函数(数据){         $( “#count_math”)HTML(数据[0] .CNT);       }     });   } 在yooarel.php里面?我有以下PHP echo代码。 $ theclass =“SELECT _latin1'math'as class”; $ theschool =“   SELECT s.class,   COUNT(m.class)AS cnt   FROM({$ theclass})s   剩下   加入会员m   ON m.class = s.class “; $ theclose =“GROUP BY s.class”; $ result = $ con>查询(“     {$ theschool} {$ theClass描述} “); $ rows = $ result-> fetch_assoc(); echo json_encode($ rows); mysqli_close($ CON); $ con表示mysql连接。查询被分解为有条件事件的空间。这里的场景是我想要检索来自不同班级的学生的计数并输出他们的计数。 目前我的代码不起作用,因为它告诉我cnt未定义。 如果我删除dataType:“JSON”并删除([0] .cnt),那么我可以验证我的值在#count_math div中显示为json列表。 我目前正在尝试使用fetch_assoc()而不是fetch_all()来解决这个问题,因为由于某种原因,fetch_all()仅适用于我的本地环境,而不适用于我的Hostgator服务器。我试过更新PHP版本,但没有用。 如果有任何信息应该在这里,请告诉我。

1 个答案:

答案 0 :(得分:1)

fetch_assoc()只返回一行。如果你想要所有的行,你需要在循环中调用它。

$rows = array();
while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}
echo json_encode($rows);

fetch_all()仅在您拥有MYSQLND驱动程序时才有效,我怀疑您的Hostgator服务器没有此功能。