如何將PDOStatement
轉換爲json?有沒有圖書館這樣做?PDOStatement to json
編輯:我需要jsonify一個PDO::FETCH_OBJ
。對不起,感謝所有的回覆。
json_encode
沒有能力簡化PDO::FETCH_OBJ
。
謝謝。
如何將PDOStatement
轉換爲json?有沒有圖書館這樣做?PDOStatement to json
編輯:我需要jsonify一個PDO::FETCH_OBJ
。對不起,感謝所有的回覆。
json_encode
沒有能力簡化PDO::FETCH_OBJ
。
謝謝。
您可以使用內置的PHP函數json_encode()http://php.net/manual/en/function.json-encode.php
爲了編碼結果使用類似
<?php
$pdo = new PDO("mysql:dbname=database;host=127.0.0.1", "user", "password");
$statement = $pdo->prepare("SELECT * FROM table");
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);
你剛剛json_encode一個PDOStatement對象? – Galen 2010-05-05 03:51:46
是的,我做了哪些工作,解碼時返回一個stdClass對象。 @mediaslave你可以在PDO :: FETCH_OBJ上使用json_encode,當你運行PDO :: FETCH_OBJ它創建stdClass的對象時,這些可以被編碼成json對象,然後解碼回stdClass對象。對你的結果做一些var_dumps,看看:) – Rwky 2010-05-05 05:45:27
'PDO :: FETCH_ASSOC'真的很重要,否則你會有雙重信息 – mpgn 2015-06-06 12:51:23
使用PDOStatement的fetchAll()
方法檢索值的數組,然後將其傳遞給json_encode()
。
$resultJSON = json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
$array = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($array);
我還發現它非常有用的插入和設置在返回由json_encode()返回的JSON對象之前,PHP頭部('Content-Type:application/json')返回的信息:
這並沒有回答這個問題,而且在解碼之前,如何設置該標題還有什麼用處?如果你可以解釋它可以在接受的答案中發表評論(甚至包括編輯)。 – 2016-08-03 17:13:51
在AJAX中出現大小寫錯誤:
取而代之的是使用頭文件('Content-Type ...'在我的php文件中,我在我的JavaScript文件中使用了dataType:'JSON'。
你指的是哪個'PDOStatement'? – 2010-05-05 02:34:00