我指的是這個問題here on stackoverflow,我有同樣的問題,除了我使用Postgre數據庫,似乎無法得到這個工作。json_encode返回null與Postgres數據庫和PHP
這是被查詢的數據庫我的PHP函數:
public function getCashData($id, $date)
{
if ($this->openConnection()){
$query = "SELECT * FROM cash_register (". $id .", '". $date ."');";
$result = pg_query($query);
if (!$result){
return false;
}
return pg_fetch_all($result);
}
}
我調用這個函數是這樣的:
$cashReport = getCashReport($id, $date);
$cashReport = array_map('utf8_encode' , $casaReport); //**note: please read below
echo json_encode($casaReport);
**這是可以正常使用,當我回來的只有一行結果(並不是全部像現在),但現在當我返回一個數組的行時,這個array_map函數(我在上面提到的鏈接中找到)不起作用,因爲它需要一個數組而不是一個數組數組。
你們能幫我解決這個問題嗎?
爲什麼你必須運行你的數組通過'utf8_encode'?我認爲'json_encode'將會處理它。 – Shef
@Shef:實際上,它不會因爲鏈接中解釋的原因我在這個問題上給了。只是給你一個例子,我會得到輸出:「colin」:null,「colout」:「1500」。你看到這個null?那麼,這會在腳本的後面給我帶來問題。我需要這個「colin」:「」,「colout」:「1500」。所以「」而不是空。 – Nikola
你不會解決更多問題的問題,而是首先解決造成問題的原因。如果你知道你會得到'utf8'字符,那麼將你的數據庫排序改爲'UTF8'。這將從根本上解決所有問題。 – Shef