我有一个MySQL数据库/表设置和一个.php文件在线,它将数据插入到mysql数据库中。我的PHP代码在这里:
<?
$name = $_GET['name'];
$minScore = $_GET['minScore'];
$hourScore = $_GET['hourScore'];
$dayScore = $_GET['dayScore'];
$service = "dddd.com";
$username = "dddd";
$password = "dddd";
$database = "dddd_DATA1";
mysql_connect($service, $username, $password);
@mysql_select_db($database) or die( "Unable to select database");
if($minScore>0) {
$query="INSERT INTO currentScores VALUES ('$name', '$minScore', '$hourScore','$dayScore',null)";
$result=mysql_query($query);
echo("Score submitted! Name: $name, Score: $minScore");
}
else {
echo("No score was submitted");
}
?>
它的工作方式我希望它能够在浏览器中输入这样的URL链接:http://dddd.com/sendScores.php?name=NAMEYNAME&minScore=22&hourScore=3&dayScore=1
我现在要做的是以某种方式从我的iPhone objective-c app发送。我假设我需要使用NSURLRequests和NSURLConnections,但到目前为止我还无法使用它。我怎样才能做到这一点?如果你有时间......有关如何从数据库获取信息回到我的应用程序的任何想法?我需要使用php将其转换为xml(或者可能是.plist),然后在objective-c中使用xml解析器吗?谢谢你的时间。
答案 0 :(得分:2)
我建议使用ASIHTTPFramework,这使得请求网址变得更加容易。要提供NSURLRequest的简单示例,您可以执行同步请求:
NSError * error = nil;
NSURLResponse * response = nil;
NSData * downloadedData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@""]]
returningResponse:&response
error:&error];
downloadedData包含请求的响应正文,因此应用程序会收到您发送的数据。
建议不要使用同步请求,因为它们会阻止整个应用。
选择发送数据的格式取决于复杂程度。如果您只想返回状态代码或某个字符串,请使用纯文本。如果你想得到带有错误代码和数组或其他的结构化响应,我建议使用JSON。 XML也很不错,但在iOS中使用XMLParsers可能会很麻烦。有很好的库来解析JSON,它被转换为NSDictionaries和NSArrays,因此可以很容易地在你的应用程序中使用。
我经常使用json-framork