将所有mysql选定的行放入数组中

Gan*_*alf 16 php mysql arrays

我想知道在php中是否有一个函数可以允许我将所有选中的数据放入数组中.目前我正在使用mysql_fetch_array并且正如我在手册中读到的那样,该函数不会获取表中的每条记录.

$result = mysql_query("SELECT * FROM $tableName");            
$array = mysql_fetch_array($result);

  echo json_encode($array);
Run Code Online (Sandbox Code Playgroud)

Mik*_*osh 46

我建议使用MySQLi或MySQL PDO用于性能和安全目的,但要回答这个问题:

while($row = mysql_fetch_assoc($result)){
     $json[] = $row;
}

echo json_encode($json);
Run Code Online (Sandbox Code Playgroud)

如果您切换到MySQLi,您可以这样做:

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

$json = mysqli_fetch_all ($result, MYSQLI_ASSOC);
echo json_encode($json );
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这么多年了,这个答案终于让我了解了真相 (3认同)
  • 直接求解决方案..!:) (2认同)

小智 7

你可以尝试:

$rows = array();
while($row = mysql_fetch_array($result)){
  array_push($rows, $row);
}
echo json_encode($rows);
Run Code Online (Sandbox Code Playgroud)


Joh*_*nde 7

  1. 遍历结果并将每个结果放在一个数组中

  2. 用来mysqli_fetch_all()一次性完成它们