gpt4 book ai didi

php - 发布数据以从 IOS 中的 SQL 查询检索信息

转载 作者:行者123 更新时间:2023-11-29 02:50:50 25 4
gpt4 key购买 nike

我是 IOS 的新手,我正在尝试从 Json 格式的 php 文件中获取数据。我想获取此数据的方式是将信息从应用程序发送到 php sql 查询。我尝试了以下方法:

iOS:

        NSString *myRequestString = [NSString stringWithFormat:@"%@%@",@"ID",newsID];
NSLog(myRequestString);

NSData *myRequestData = [NSData dataWithBytes: [myRequestString UTF8String] length: [myRequestString length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setURL:[NSURL URLWithString:@"http://domain.com/file.php"]];

[request setHTTPMethod: @"REQUEST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody: myRequestData];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; //Or async request
NSError *error=nil;

NSArray *results = [NSJSONSerialization JSONObjectWithData:returnData options:0 error:&error];

PHP:

$query="SELECT news_description FROM newsTable WHERE newsID = ".$_REQUEST['ID'].";
$result=mysql_query($query);

while($row=mysql_fetch_assoc($result))
$output[]=$row;
print(json_encode($output));

我已经研究了一些想法,但不幸的是它没有将信息发送到 php 文件。我试过将 $_REQUEST 更改为 $_POST,我还在我的 php 文件中创建了一个变量来存储 $_POST 但没有成功。有什么建议么?请帮忙!谢谢!

最佳答案

尝试 JWURLConnection on GitHub .如果您更喜欢自己编写代码,可以查看源代码。

编辑 为您提供更多信息:您正在代码中创建纯 HTTP 请求。您发送的 HTTP 正文绝对 HTTP 兼容。 x-www-form-urlencoded 内容类型必须遵循 RFC 定义的非常具体的规则。

当我再次查看您的代码时,我发现了一个问题。您缺少等号:

[NSString stringWithFormat:@"%@=%@",@"ID",newsID]
^^^

我建议阅读 RFC 规范,或者如前所述,遵循上述类中实现的代码,它严格遵守规则。

如果您无法使用该类解决问题,您可能在 PHP 脚本中遇到了问题,因此您必须提供有关该脚本的更多信息。

编辑二

当我再次查看您的代码时,我发现了另一个问题。您没有正确设置请求方法。在这里你设置

[request setHTTPMethod:@"REQUEST"];

这不是有效的 HTTP 方法!如果你想post,你必须将它设置为@"POST" 或者get @"GET",head @"HEAD"等等,见RFC 2616 .

关于php - 发布数据以从 IOS 中的 SQL 查询检索信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com