我之前在iPhone应用程序中使用过sqlite3,但是如何查询我网站上的外部SQL数据库呢?
您的应用程序不执行实际查询。正确的方法是为您的网站设置一个API,使得网站执行查询并将适当的数据返回给您的应用程序。
您的API通常由多个端点组成,这些端点返回为您的应用程序格式化的数据。例如,您可以创建一个PHP或Python页面,查询数据库以获取给定用户的所有帖子,并以JSON或XML编码的数组形式返回它们。(数据格式完全由您决定。iOS有可用于解析这两种格式的框架。)
例如,假设您在服务器上有一个PHP页面,该页面返回当前星期几。您的PHP代码将类似于以下内容:
<?php
echo date("l");
?>
NSURL *url = [NSURL URLWithString:@"http://example.com/dayoftheweek.php"]
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
[request setDelegate:self];
现在,您需要实现ASIHTTPRequest委托方法来解析返回的数据。处理已完成请求的方法如下所示:
- (void)requestFinished:(ASIHTTPRequest *)request{
//Here you would store the returned data and/or parse it
}
为了实现API,你的PHP页面会更加复杂。你需要构建一个更复杂的请求,传递变量等信息,而PHP页面则会像普通的Web服务一样返回所请求的数据。
我想你指的是MySQL。通常情况下,从外部访问MySQL数据库是被禁止的,这也是有充分理由的。你可能需要编写一个API来访问你的数据库。你的iPhone应用程序将与此API通信以插入和检索数据。