sql >> データベース >  >> RDS >> Mysql

クリックアクションの有無にかかわらず、xcode 8(Objective-c)を使用してテキストフィールド値をPHP MySQLに送信しますか?

    それを行うにはいくつかの方法があります。まず、dataWithContentsOfURLに注意することが重要です。 非同期リクエストではありません。つまり、大きなデータを転送するために使用すると、アプリがフリーズする可能性が高くなります。非同期リクエストの場合は、NSURLRequestを使用する必要があります。

    そうは言っても、データを非同期でアップロード/ダウンロードするための優れたAPIがあります。非常に頻繁に使用され、十分に文書化されているのは、AFNetworking です。 。これはNSURLRequestの上にコーディングされています。

    たとえば、PHPでは、次のようにPOSTステートメントからフィールドを取得できます。

    <?php
      $username = $_POST["username"];
      $email = $_POST["email"];
    ?>
    

    アプリでは、次のようにAFNetworkingのPOSTリクエストでPHPスクリプトを呼び出すことができます。

    NSString *username = @"username";
    NSString *email = @"email";
    NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"yourUrl" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        NSLog(@"Sending POST request to server");
    
        [formData appendPartWithFormData:[username dataUsingEncoding:NSUTF8StringEncoding] name:@"username"];
        [formData appendPartWithFormData:[email dataUsingEncoding:NSUTF8StringEncoding] name:@"email"];
    
    } error:nil];
    
    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    
    NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:^(NSProgress * _Nonnull uploadProgress) {
    
        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"SERVER UPLOAD FRACTION COMPLETED: %f", uploadProgress.fractionCompleted);
        });
    
    } completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
    
        NSLog(@"responseObject %@", responseObject);
        NSString *responseString = [[[NSString alloc] initWithData:responseObject encoding:NSASCIIStringEncoding] mutableCopy];
        NSLog(@"The respose is: %@", responseString);
    
        if(error) {
            NSLog(@"Error: %@", error);
    
        } else {
            NSLog(@"The response is: %@", responseString);
            // Do something with the response
        }
    }];
    [uploadTask resume];
    


    1. MySQLクエリ-COUNTのSUMを使用

    2. 件名にUTF-8エンコーディングを使用してOracleでメールを送信する

    3. PostgreSQLデータベースクラスターを使用して高可用性CanvasLMSをデプロイする方法

    4. 単一行の値としてコンマ区切り文字を使用してカウント値を取得する方法