2012-01-08 8 views
0

Webサーバー上のデータベースにデータを挿入しようとしています。私は、MySQL、PHP Appacheとリモートデータベースに挿入するASIFormDataRequest:400コード、不正リクエストを取得する

Xcodeの

*-(IBAction)saveRecord:(id)sender{ 
    UITextField *description_txtfield = (UITextField*)[self.tableView viewWithTag:11]; 
    description_string = description_txtfield.text; 
    NSLog(description_string); 

    NSURL *url = [NSURL URLWithString:@"http://192.168.1.140/~admin/qw/"]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
    [request setPostValue:description_string forKey:@"product_name"]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 

    [self.navigationController popToRootViewControllerAnimated:YES]; 
} 
- (void)requestFinished:(ASIHTTPRequest *)request {  

    if (request.responseStatusCode == 400) { 
     NSLog(@"Invalid code");   
    } else if (request.responseStatusCode == 403) { 
     NSLog(@"Code already used"); 
    } else if (request.responseStatusCode == 200) { 
     NSLog(@"OK"); 

    } else { 
     NSLog(@"Unexpected error"); 
    } 
    }* 

- (void)requestFailed:(ASIHTTPRequest *)request 
{  
    NSError *error = [request error]; 
    NSLog(error.localizedDescription); 
} 

のindex.phpは、インサートを処理するために、次のコードを内部に持っているを使用しています。

Function redeem() { 

     // Check for required parameters 
     if (isset($_POST["product_name"])) { 

      // Put parameters into local variables 
      $rw_app_id = $_POST["product_name"]; 
      // Add tracking of redemption 
      $stmt = $this->db->prepare("INSERT INTO inventory (product_name) VALUES (?)"); 
      $stmt->bind_param($rw_app_id); 
      $stmt->execute(); 
      $stmt->close(); 

     } 
     sendResponse(400, 'Invalid request'); 
     return false; 

    } 

私がここで間違っていることを誰かに教えてもらえますか?私は不正なRequest-400である無効なコードを取得し続けます。

答えて

0

if文の中でヘッダー応答と返品がありませんでした。それ以外の場合は、毎回400を取得します。

Function redeem() { 

      // Check for required parameters 
      if (isset($_POST["product_name"])) { 

       // Put parameters into local variables 
       $rw_app_id = $_POST["product_name"]; 
       // Add tracking of redemption 
       $stmt = $this->db->prepare("INSERT INTO inventory (product_name) VALUES (?)"); 
       $stmt->bind_param($rw_app_id); 
       $stmt->execute(); 
       $stmt->close(); 
       sendResponse(200, 'Ok'); 
       return true; 
      } 
      sendResponse(400, 'Invalid request'); 
      return false; 

     } 
関連する問題