ios php mysql数据库_ios与php的交互2016.6

场景一.ios上传数据,提交给php,它会写入网络数据库

php把插入结果,以某种格式,例如json,发送数据给ios客户端,

ios客户端,反序列化json,也就是解析。

php端有一个insert.php接口文件,存放在服务器上,例如它的地址存放在http://127.0.0.1/php/insert.php,这个也就是接口地址了。

如果你是单独开发ios端,那么php端的程序员会告诉你这个地址,以及它提供的参数,

例如下面的userName,password。你上传的json数据的参数也是这个。

完整代码如下:

header("Content-type: application/json; charset=utf-8");

$con = mysql_connect("127.0.0.1","root","root");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}else{

echo '连接成功';

echo "\n";

}

mysql_select_db("my_db", $con);

mysql_query("SET NAMES 'utf8'",$con);

//获得数据

$json = file_get_contents('php://input');

// 反序列化JSON

$de_json = json_decode($json,TRUE);

//统计个数

$count_json = count($de_json);

//遍历json,插入到mysql数据库

for ($i = 0; $i < $count_json; $i++)

{

//取值

$userName = $de_json[$i]['userName'];

$password = $de_json[$i]['password'];

//执行插入

$result = mysql_query($sql,$con);

if($result)

{

echo '成功插入';

}else{

echo '插入失败';

}

}

//关闭数据库连接

mysql_close($con);

?>

ios端,在某个方法中:

-(void)postUpload{

//1.url,接口地址,php端提供的

NSURL *url =[NSURL URLWithString:@"http://127.0.0.1/php/insert.php"];

//2.请求

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5];

//2.1设置HTTP方法

request.HTTPMethod=@"POST";

//2.2上传json类型数据,本质是一个字符串

//序列化:将数组、字典转为二进制

NSDictionary *dic1 = @{@"userName":@"cj",@"password":@"27"};

NSDictionary *dic2 = @{@"userName":@"cj2527",@"password":@"26"};

NSArray *array = @[dic1,dic2];

//检测能否被序列化

if (![NSJSONSerialization isValidJSONObject:array]) {

NSLog(@"格式不正确!");

return;

}

request.HTTPBody = [NSJSONSerialization dataWithJSONObject:array options:0 error:NULL];

//3.定义Session连接

NSURLSession *session = [NSURLSession sharedSession];

NSData *data = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:nil];

//定义上传任务

NSURLSessionUploadTask *task = [session uploadTaskWithRequest:request fromData:data completionHandler:^(NSData * __nullable data, NSURLResponse * __nullable response, NSError * __nullable error) {

id result = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"%@",result);

}];

//开启任务

[task resume];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值