我尝试从数据库中获取名称和地址以及名称和地址属性为文本格式的其他数据,而其他属性采用varchar格式。我不明白为什么这些名称和地址中的一些在db中存在时无法被捕获。从大约5000条记录中,有大约300条记录,其名称和地址无法在我的程序中捕获。我研究后得到的是几个以空格开头的名称和地址。所以在我删除那些空格后,它工作得很好。但对于其他人我只是不明白。它们似乎只是普通文本。代码如下:
$hasil_query1= json_encode($data->getData($query));
$obj1 = json_decode($hasil_query1,true);
$name=$obj1[0]['name'];
$address=$obj1[0]['address'];
当我打印$ name或$ adress时,其中一些不会出现(未被捕获)。但是当我使用这个代码而不是上面的代码时,它可以正常工作
$result = mssql_query($query);
while($row = mssql_fetch_array($result))
{
$name=$row['name'];
$address=$row['address'];
}
请帮助我理解这一点,因为我现在还不能看到它。
感谢您的进步。
答案 0 :(得分:0)
试试这个
$hasil_query_baru = array();
$hasil_query1= $data->getData($query);
foreach($hasil_query1 as $row){
$hasil_query_baru[] = array_value($row);
}
$hasil_query1 = json_encode($hasil_query_baru);
...
答案 1 :(得分:0)
var_dump可能有助于理解问题。
var_dump($data->getData($query));
答案 2 :(得分:0)
我从php json_encode() show's null instead of text
找到答案" json_encode要求数据中的字符串编码为UTF-8。
如果他们还没有"
,请将它们转换为UTF-8〜phihag
感谢死亡外科医生给了我那个链接。