0

POSTを使用してデータベースの情報を保存/変更するのに問題があります。誰か助けてくれませんか?

NSDictionary *newDatasetInfo = [NSDictionary dictionaryWithObjectsAndKeys:un, @"username", n, @"name", pn, @"phonenumber",em, @"email", nil];

NSError *error;

NSData* jsonData = [NSJSONSerialization dataWithJSONObject:newDatasetInfo options:kNilOptions error:&error];


NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPBody:jsonData];

// print json:
NSLog(@"JSON summary: %@", [[NSString alloc] initWithData:jsonData
                                                 encoding:NSUTF8StringEncoding]);
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection start];

上記のコードは、私のサーバー側のコードが次のようになっているアプリケーションからのものです。また、このコードがphpファイルにあることに注意してください。

if(!isset($_GET["username"]))
{
    // adding new record
    $q = sprintf("insert into users (username, name, phoneNumber, email) values ('%s','%s', '%s', '%s')",
        mysql_real_escape_string($_GET["username"]),
        mysql_real_escape_string($_GET["name"]),
        mysql_real_escape_string($_GET["phone"]),
        mysql_real_escape_string($_GET["email"]));
}
else
{
    // update the  record
    $q = sprintf("update users set name = '%s', phoneNumber = '%s', email = '%s' where username = '%s'",
        mysql_real_escape_string($_GET["name"]),
        mysql_real_escape_string($_GET["phoneNumber"]),
        mysql_real_escape_string($_GET["email"]),
        mysql_real_escape_string($_GET["username"]));
}
4

2 に答える 2

0

PHP コードで JSON オブジェクトをデコードしましたか?

また

以下のように設定してみてください

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

そして、あなたがフォローする必要があるかどうかはわかりません

[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

お役に立てれば。

于 2013-03-22T13:00:25.460 に答える
0

おそらく最も理想的な方法ではありませんが、実用的な方法を提示できます。

iOS 側。

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:user 
                                                       options:kNilOptions
                                                         error:&error];
    if (!jsonData) {
        NSLog(@"Error:%@",error);
    }
    else {
        jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    }

    NSString * params = [[NSString alloc] initWithFormat:@"user=%@",jsonString];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:kLinkUpdateFacebook]];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]]; // and send the request

PHP側;

<?
    $json_user = json_decode($_POST["user"],true);

    echo $json_user["name"];
?>
于 2013-03-22T13:09:16.577 に答える