如何读取外部mysql数据库

时间:2012-06-27 09:34:11

标签: iphone objective-c

我正试图在我的iphone应用程序中找到如何从我的数据库中读取数据。数据库在我的服务器中,我尝试的类似于我在Android中的操作(我不确定它是否是最佳方式):

NSString *hostStr = @"http://www.myip/notices.php";


NSData *dataURL =  [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]];    
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];

NSLog(@"Mysql response:is %@",serverOutput);

我得到的是“Mysql response:is Array”,这是真的:

<?php
mysql_connect("localhost","user","pass");
mysql_select_db("database");


  $q = mysql_query("SELECT id, title FROM jos_content WHERE catid=12 AND state=1 AND DATE(publish_up) <= NOW() ORDER BY DATE(publish_up) DESC");

   while($e=mysql_fetch_assoc($q))

    $output[]=array("id" => $e['id'], "title" =>  utf8_encode($e['title']));
        echo $e;

print($output);

mysql_close();


?>

我应该怎么做?

提前谢谢

1 个答案:

答案 0 :(得分:2)

从你的php打印数据作为JSON它将更容易处理它

在PHP中使用

而不是

print($output);

使用

echo json_encode($output);

然后在您的iOS应用中,您可以使用this framewrok

其他资源

要使用SBJSon,您可以执行以下操作

NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
id object = [serverOutput JSONValue];
NSMutableDictionary *dictionary = (NSMutableDictionary *)object;

现在dictionary将包含值和键的字典