PHP SQL结果整体"对象"

时间:2017-02-05 18:42:34

标签: php

我正在开发项目,它将限制PHP流程,可能很多人会使用该页面。因此,我正在尝试对其进行优化,以便在客户端处理最多(但安全)的事情。

    $result = mysqli_query($db, "SELECT * FROM userdata");


    /*return $result; */

    while ($row = mysql_fetch_array($result)) {
      //do sth, e.g. get row to array
    } 
   /*return $array;*/ 

在这种情况下,我的问题很简单。 循环遍历每一行需要时间,并将阻止php进程很长一段时间。 所以,这里有一些解决方案,你只需要发送SQL请求,从DB服务器就可以获得一些数据"的形状响应,我将能够直接传递给jquery,我在那里可以使用客户端资源而不是服务器资源来处理/排序/编辑/查看结果吗?

(到目前为止,发出sql请求并将$result传递给jquery变量似乎没有返回任何内容,jquery变量为空)

提前致谢

2 个答案:

答案 0 :(得分:0)

首先,看起来你正在将mysql与mysqli混合使用。

mysqli方法:

mysqli_query($db, "SELECT * FROM userdata");

mysql方法:

mysql_fetch_array($result)

你不应该这样做。不推荐使用mysql方法,这两种方法完全不同,它们不是一起工作的,事件是它的工作,这样做是完全错误的。

至于你的问题,为了将获取的db数据结果传递给jQuery或Javascript进行客户端处理,你可以将结果数组转换为JSON字符串。

这样做:

$row = mysqli_fetch_array($result);
echo json_encode($row);

然后使用jquery,对php脚本进行ajax调用。并解析json数据。

答案 1 :(得分:0)

我认为你要求这个功能:

http://www.w3schools.com/php/func_mysqli_fetch_all.asp

将所有行检索到单个嵌套关联数组中。然后,您可以使用JSON_encode()对此数组进行编码,以使用客户端javascript进行处理。