我正在制作一个简单的web应用程序。在其中的一部分中,我希望PHP执行一个SQL命令,并通过AJAX将整个结果发送到JavaScript。
这是代码:
$meta_query = json_encode(mysql_fetch_row(mysql_query("SELECT * from meta")));
这里的问题是,我只得到了第一排,而没有得到其他的。
我试过了:
$meta_query = json_encode(mysql_query("SELECT * from meta"));
但这给了我null
。
我应该怎么做才能以json格式获得整个结果?
您需要获取循环中的所有行:
$rows = array();
$result = mysql_query("SELECT * from meta");
if($result){
while($row = mysql_fetch_row($result)){
$rows[] = $row;
}
}
echo json_encode($rows);
补充说明:MySQL库不推荐使用,您应该考虑升级到现代API,如MySQLi或PDO。PDO有一个内置的函数来获取所有行:
$result = $pdo->query('SELECT * FROM meta');
$rows = $reuslt->fetchAll(PDO::FETCH_NUM);
尝试这个
$meta_query = json_encode(mysql_fetch_array(mysql_query("SELECT * from meta")));