“PHP SQL结果作为整体”;“对象”;

“PHP SQL结果作为整体”;“对象”;,php,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 } /*re

我正在从事这个项目,它将有有限的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 server您将得到“一些数据束”形式的响应,我将能够直接传递到jquery,在那里我可以使用客户端资源而不是服务器资源处理/排序/编辑/查看结果

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


提前感谢

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

mysqli方法:

mysqli_query($db, "SELECT * FROM userdata");
mysql方法:

mysql_fetch_array($result)
你不应该这样做。mysql方法已被弃用,并且两种方法都是完全不同的api,它们并不意味着要一起工作,即使它工作,这样做显然是错误的

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

这样做:

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

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

我想您要求的是这个函数:


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

绝对不是man的可能副本…@Zorak绝对是“yes”man.yep,它似乎在工作,这就是我需要的,谢谢:)