PHP ibase查询

时间:2014-01-22 09:49:52

标签: php ios7 firebird

我想在我的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,但不知道它是否适合此代码。

我希望你能帮助我。

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

我不确定为什么要将$data数组放入另一个数组中。你可以跳过这一步。

当您echo json_encode($data)将数组编码为JSON时,这就是您的iOS应用程序获取的内容以及解码所需的内容。在StackOverflow上已经多次询问将JSON解码为NSArray或NSDictionary,如this question