【发布时间】:2012-03-03 18:40:15
【问题描述】:
我正在开发一个应用程序,我需要使用 php Web 服务将一些长文本保存到 mysql 数据库。我已经创建了 Web 服务,但我无法将参数从 iphone 发送到 php Web 服务。以下是我的网络服务代码:
<?php
require_once('config.php');
$username = $_POST["username"];
$aboutme = $_POST["aboutme"];
$conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Connection to database failed: ' . mysql_error());
mysql_select_db(DB_DATABASE) or die ('select_db failed!');
$query = "insert into Member(username, aboutMe) values(.'".$username."', '".$aboutme."')";
echo $query;
$result = mysql_query($query) or die(mysql_error());
echo $result;
mysql_close($con);
?>
我找到了将数据发布到 Web 服务的代码,但我无法将数据添加到发布请求。
status=[NSString stringWithFormat:@"username=%@&password=%@&interestedIn=%@&aboutme=%@&profilePic=%@&isFBLogin=%@&useFacebookPic=%@",[@"aaaaaaaaaa" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding] ,[@"bbbbbb" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[@"female" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[@"about meeeeeeeee" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[@"profile.png" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[@"0"stringBy :NSASCIIStringEncoding],[@"0" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]; //status = @"username=pankaj1234&aboutme=Hello Baby 1234567890 0987654321"; NSData *postData = [status dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; NSData *postData = [状态数据UsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.domain.com/registerUser.php"]];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLResponse *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"success!");
如何将这些值添加到请求中? 有人可以帮帮我吗?
谢谢
潘卡伊
【问题讨论】:
-
你能在服务器端接收参数吗?只需在服务器端打印 $username 和 $aboutme 即可查看数据是否真的以这种方式出现?
-
不,我无法在服务器端接收参数
-
遵循@Gilad 的建议。因为要接收此数据,您需要在服务器端发送名称-值对,就像在正常的 GET 请求中一样。但是在您的 iOS 代码中,您没有提供此信息,因此当您在 php scipt 中询问 $_POST["username"] 时,没有数据。要快速检查,请使用 @"username=pankaj&status=online" 生成正文数据。
-
您可能还想清理数据库输入,在将其输入数据库之前使用 mysql_real_escape()
标签: php iphone post nsmutableurlrequest