我想知道在php中有没有一个函数可以让我将所有选定的数据放到数组里。目前我正在使用mysql_fetch_array,但是根据手册所述,该函数无法获取表中的每条记录。
$result = mysql_query("SELECT * FROM $tableName");
$array = mysql_fetch_array($result);
echo json_encode($array);
我建议使用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 );
您可以尝试以下方法:
$rows = array();
while($row = mysql_fetch_array($result)){
array_push($rows, $row);
}
echo json_encode($rows);
这个方法也非常好,你可以试一下。
try {
while ($row=mysqli_fetch_array($res)) {
array_push($row...);
}
} catch (Exception $e) {
print($e->getMessage());
}
$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
}
你可以调用mysql_fetch_array()函数no_of_row次。
mysql_...
函数已经过时且不安全。你应该使用mysqli
或者更好的 PDOs - http://php.net/manual/zh/book.mysqli.php, http://php.net/manual/zh/book.pdo.php - Raekye$allRows = array(); while($row = mysql_fetch_array($result) {$allRows[] = $row }
- toskemysql_*
函数。它们已不再维护,社区已经开始弃用过程。看到红框了吗?相反,您应该学习有关预处理语句的知识,并使用PDO或MySQLi。如果您无法决定,本文将帮助您选择。如果您想学习,这里有一个很好的PDO教程。 - Madara's Ghost)
。$allRows = array(); while($row = mysql_fetch_array($result)) {$allRows[] = $row }
- Andrew Samuelsen