我想在我的IOS 7应用程序中使用PHP进行互联网服务。 我试图生成一个用于从Firebird数据库接收对象的代码。 我的代码吼叫:
<?php
$host = 'xxx';
$username = 'xxx';
$password = 'xxx';
$conn = ibase_connect($host, $username, $password) or
die ("Verbindung fehlgeschlagen");
$arr = array();
$data = array();
$stmt = "select * from xxx";
$sth = ibase_query($conn, $stmt);
while ($row = ibase_fetch_object ($sth)) {
$data['ID'] = $row->ID;
$data['VON'] = $row->VON;
$data['AN'] = $row->AN;
$data['BETREFF'] = $row->BETREFF;
$data['DATUM'] = $row->DATUM;
$data['KOMMISSIONSNR'] = $row->KOMMISSIONSNR;
$data['NACHRICHT'] = $row->NACHRICHT;
$data['GELESEN'] = $row->GELESEN;
$data['GEANTWORTET'] = $row->GEANTWORTET;
$data['STATUS'] = $row->STATUS;
$data['AUFTRAG'] = $row->AUFTRAG;
$arr[] = array($data);
}
echo json_encode($arr);
?>
通过在Safari浏览器中调用代码,不返回任何值或数组。
如果给一个像1的密钥
(echo json_encode($arr[1]);
)将显示浏览器上的数组。
如何用所有键显示整个数组?我应该补充一点,我想在应用程序中使用ibase-query的结果作为NSDictionary。
哪个框架最适合将PHP-Array编码为IOS?我曾尝试使用JSONDictionaryExtensions,但不知道它是否适合此代码。
我希望你能帮助我。
抱歉我的英语不好。
答案 0 :(得分:0)
我不确定为什么要将$data
数组放入另一个数组中。你可以跳过这一步。
当您echo json_encode($data)
将数组编码为JSON时,这就是您的iOS应用程序获取的内容以及解码所需的内容。在StackOverflow上已经多次询问将JSON解码为NSArray或NSDictionary,如this question。