我正在使用JSON框架开发iPhone应用程序,我正在调用PHP脚本来更新本地服务器上的MySQL数据库。使用这些代码:
NSString *jsonString = [sendData JSONRepresentation];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSString*post = [NSString stringWithFormat:@"&json=%@", jsonString];
NSData*postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
[request setURL:[NSURL URLWithString:@"http://localhost:8888/update.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody:postData];
我想问一下:
从该请求获取数据的PHP脚本是什么,以及如何将JSON数据解码为PHP对象以更新到数据库?
任何帮助都将不胜感激。
答案 0 :(得分:1)
我没有用iPhone做过这件事,但看起来就像是:
if(isset($_REQUEST['json']) && $_REQUEST['json']) {
$jsonObj = json_decode($_REQUEST['json']);
//mandatory sanitizing and verification here
//PDO examples
//$stmt = $db->prepare('INSERT ...');
//$stmt->execute(array($jsonObj->userId, $jsonObj->specialData));
//check statement execution
}
更多信息:
答案 1 :(得分:1)
以下是您提供的有限信息的一些代码行
<?php
// get data
$rawJsonData = $_POST;
$decodedData = json_decode($rawJsonData);
// .. do some parsing on $decodedData ..
// save data
$db = new Db();
$db->insert('table', $decodedData);
$decodedData
将是一个PHP数组,您可以以任何方式处理该数组,然后保存到数据库中。
答案 2 :(得分:0)
您将在变量$ _POST ['json']中找到您的数据,您可以使用以下命令查看您通过POST收到的内容:
<?php print_r($_POST); ?>
一旦确定了数据的位置,就可以使用以下命令从JSON传递到PHP数据:
<?php $phpObj = json_decode($_POST['json']); ?>
同样,您可以使用print_r查看数据结构:
<?php print_r($phpObj); ?>