簡體   English   中英

PDO對JSON的響應

[英]PDO response to json

我是PHP的新手,正嘗試制作一個非常簡單的api(我也想學習的一種好方法),為什么這樣做不起作用? 加載此頁面時,輸出為: {“ queryString”:“ SELECT id,名稱來自食品WHERE userID = 1 ORDER BY名稱”}}而不是我想要的JSON字符串

$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);

$response = $dbh->query("SELECT id, Name FROM Food WHERE userID=1 ORDER BY Name");

$responseJSON = json_encode($response);

header('Content-type: application/json');
echo "$responseJSON";

$dbh = null;

查詢沒有問題,因為嘗試此操作時我得到了想要的東西:

$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);

$response = $dbh->query("SELECT id, Name FROM Food WHERE userID=1 ORDER BY Name");

    foreach ($response as $row)
        {
            print $row['Name'] . ' ';
        }


$dbh = null;

輸出: 培根芝士片

$ dbh-> query調整PDOStatement對象,而不是行。 要將行添加到json,請在對象上調用fetchAll

$response = $dbh->query("SELECT id, Name FROM Food WHERE userID=1 ORDER BY Name")->fetchAll();

您也可以指定獲取模式,例如

fetchAll(PDO::FETCH_ASSOC);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM