查看查询的完整结果,而不仅仅是第一行


See complete result of a query and not just the first row

我正在制作一个简单的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")));