2013-03-08 47 views
1

使用PHP的我需要一種將整個記錄集轉換爲JSON字符串的方法。在PHP中將PDO記錄集轉換爲JSON

在尋找堆棧溢出,我發現這個解決方案,它的工作原理:

function recordSetToJson($mysql_result) { 
    $rs = array(); 
    while($rs[] = mysql_fetch_assoc($mysql_result)) { 
    // you don´t really need to do anything here. 
    } 
    return json_encode($rs); 
} 

這段代碼的問題是,我發現功能mysql_fetch_assoc()在PHP 5.5.0已被棄用。另一件事是即時通訊使用PDO連接到我的數據庫。

鑑於上述情況,將PDO記錄集轉換爲JSON的最佳解決方案是什麼?我希望它能夠在更高版本的PHP中工作。

+0

你有什麼試過?任何教程?從這裏開始:http://stackoverflow.com/tags/pdo/info – 2013-03-08 06:22:42

+0

[PDOStatement to json]的可能重複(http://stackoverflow.com/questions/2770273/pdostatement-to-json) – 2014-09-02 15:39:02

回答

-1

你應該使用類似的東西

以前某處

$stmt = $pdo->prepare("SELECT * FROM fruit WHERE name = ?"); 
$stmt->execute(array("Apple")); 
.... 


function recordSetToJson($stmt) { 
    $json_result = array(); 
    while($tmp = $stmt->fetch()) { 
     $json_result[] = $tmp; 
    } 
    return json_encode($json_result); 
} 

但最終的解決方案將完全取決於形式的因素太多了。

+0

array(「Apple」 ))如果我沒有弄錯,就不會做任何事情。但我得到你的觀點,就像我在評論中所描述的那樣。 – Jonast92 2013-03-08 06:29:36

+0

@ Jonast92對不起,你的意思是? – user1016265 2013-03-08 06:30:36

+0

execute(array(「:name」=>「Apple」));會做點什麼。 – Jonast92 2013-03-08 06:31:14