2014-01-07 66 views
0

我不能json_encode我的數組從PDO返回:無法json_encode PDO結果

var_dump(json_encode($result));回報false

我也重新分配這個數組到一個新的陣列,通過PDO結果循環。

這裏是我的代碼:

$host = "localhost"; 
$database = "test"; 
$username = "root"; 
$password = ""; 

$db = new PDO("mysql:host={$host};port:3306;dbname={$database}", $username, $password); 
!$db && exit("Database connect failed"); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$statement = $db->prepare("SELECT sample.* FROM test.sample LIMIT 10"); 
$statement->execute(); 
$result = $statement->fetchAll(PDO::FETCH_ASSOC); 
var_dump(json_encode($result)); 
+0

[PDOStatement to json]可能的重複(http://stackoverflow.com/questions/2770273/pdostatement-to-json) – hd1

+0

是的,它是重複的,但你可以看到我已經嘗試過相同的代碼,但仍然不工作..我想你也試過這個! –

+0

@ hd1,你也可以看到這個答案在這裏是問題。 –

回答

0

我發現了同樣的問題,發現該$結果本身就是錯誤/假。 你應該檢查你的$結果的內容,使用

print_r($result); 

如果是這樣(還是假的),你應該將數據庫coneection或你的語法查詢。