2012-01-08 80 views
0

我试图将数据插入到Web服务器上的数据库。我使用MySQL,Appache和PHP插入远程数据库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; 

    } 

有人能告诉我我在做什么错吗?我一直收到无效的代码,这是错误的请求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; 

     } 
相关问题