我指的是这个问题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