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

时间:2012-06-29 15:14:40

标签: php mysql arrays

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

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

  echo json_encode($array);

5 个答案:

答案 0 :(得分:45)

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

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

echo json_encode($json);

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

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

$json = mysqli_fetch_all ($result, MYSQLI_ASSOC);
echo json_encode($json );

答案 1 :(得分:6)

您可以尝试:

$rows = array();
while($row = mysql_fetch_array($result)){
  array_push($rows, $row);
}
echo json_encode($rows);

答案 2 :(得分:6)

  1. 循环结果并将每个结果放在一个数组

  2. 使用mysqli_fetch_all()一次性获取所有内容

答案 3 :(得分:1)

$name=array(); 
while($result=mysql_fetch_array($res)) {
    $name[]=array('Id'=>$result['id']); 
    // here you want to fetch all 
    // records from table like this. 
    // then you should get the array 
    // from all rows into one array 
}

答案 4 :(得分:0)

您可以在no_of_row时间内调用mysql_fetch_array()