iOS:与sql数据库通信

时间:2011-05-11 16:28:50

标签: ios

如何在不使用webview的情况下对ios的phpmyadmin sql数据库进行读写调用?

2 个答案:

答案 0 :(得分:2)

除非您的服务器不安全,否则您将无法直接访问您的数据库。相反,你必须使用PHP作为“桥梁”。这里有一些示例代码可以帮助您开始使用PHP脚本:

<?PHP
$con = mysql_connect("db.something.com","someuser","somepass");
if (!$con){die('Could not connect: ' . mysql_error());}
mysql_select_db("db", $con);
$result = mysql_query("SELECT * FROM table");
if(mysql_num_rows($result)) {
    while($something = mysql_fetch_assoc($result)) {
      $somethingmore[] = $something;
    }
  }

header('Content-type: application/json');
echo json_encode($somethingmore);
mysql_close($con);
?>

对我来说,我需要它在JSON中,所以我将结果格式化为JSON。在您的应用程序中,只需发出HTTP请求即可获得PHP脚本的结果。对我来说,就像这样(使用ASIHTTPRequest库):

NSURL *url = [NSURL URLWithString:@"http://www.test.com/something.php"];
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setUsername:@"user"];
[request setPassword:@"pass"];
[request setDownloadProgressDelegate:downloadProgress];
[request setCompletionBlock:^{
    [self dosomething];
}];
[request startAsynchronous];

然后你可以解析数据并适当地做一些事情。

答案 1 :(得分:0)

我正在编写一个使用基于IIS的WCF服务的自定义解决方案。此解决方案允许您在Objective-C代码中编写SQL查询并返回DataTables的结果集。

这有助于你做你需要的事吗?不同类型的Web服务会更好用吗?