【问题标题】:Send data to server is not working向服务器发送数据不起作用
【发布时间】:2013-12-11 07:08:59
【问题描述】:

我已经在服务器上创建了员工表。在那个表中我有四个字段

表格是这样的

emp_id ,emp_name,emp_address,emp_salary这是我要插入数据的四列

我的php文件代码如下..

$emp_id=$_POST["emp_id"];
$emp_name=$_POST["emp_name"];
$emp_address=$_POST["emp_address"];
$emp_salary=$_POST["emp_salary"];



// Insert Query 
$sql = "INSERT INTO employee ".
       "(emp_id,emp_name, emp_address,emp_salary) ".
       "VALUES ".
       "('$emp_id','$emp_name','$emp_address','$emp_salary')";
mysql_select_db('demo');
$retval = mysql_query( $sql, $con);
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";


mysql_close($con);

我已经像这样从 iOS 发送数据

int emp_id = 01;
    NSString * emp_name = @"jit";
    NSString * emp_address = @"Nashik";
    int emp_salary = 25000;


     NSString * str=[NSString stringWithFormat:@"emp_id=%demp_name=%@emp_address=%@emp_salary=%d",emp_id,emp_name,emp_address,emp_salary];

     NSData *myRequestData = [NSData dataWithBytes: [str UTF8String] length: [str length]];

     NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:@"http://localhost/~jeetulives/hello.php"]];

     [request setHTTPMethod: @"POST"];
     [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
     [request setHTTPBody: myRequestData];

     NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

     NSString *response = [[NSString alloc] initWithBytes:[returnData bytes] length:[returnData length] encoding:NSUTF8StringEncoding];

     NSLog(@"%@",response);

错误日志是

xammpconnection 成功无法输入数据:第 1 行的列“emp_id”的数据被截断

我可能哪里出错了帮我解决这个问题。

提前谢谢...

【问题讨论】:

  • 将 & 放在两个参数之间,例如 NSString * str=[NSString stringWithFormat:@"emp_id=%d&emp_name=%@&emp_address=%@&emp_salary=%d",emp_id,emp_name,emp_address,emp_salary];如果有帮助,试试这个
  • 谢谢老兄,这正在工作.....

标签: php ios iphone objective-c ios5


【解决方案1】:

在每个值后加一个“,”

或者

创建一个如下所示的json字符串

 NSString * str=[NSString stringWithFormat:@"\"emp_id\"=\"%d\",\"emp_name\"=\"%@\",\"emp_address\"=\"%@\",\"emp_salary\"=\"%d\"",emp_id,emp_name,emp_address,emp_salary];

或者

直接传递json字符串而不是传递NSData对象

【讨论】:

    【解决方案2】:

    这是我的愚蠢错误。使用此 & 在我传递的字符串之间缺少 & 您必须将字符串分开。

    我的正确代码是

        int emp_id = 1;
        NSString * emp_name = @"Jit";
        NSString * emp_address = @"Nashik";
        int emp_salary = 25000;
    
    
        NSString * str=[NSString stringWithFormat:@"emp_id=%d&emp_name=%@&emp_address=%@&emp_salary=%d",emp_id,emp_name,emp_address,emp_salary];
    
    
        // NSString * str=[NSString stringWithFormat:@"\"emp_id\"=\"%d\",\"emp_name\"=\"%@\",\"emp_address\"=\"%@\",\"emp_salary\"=\"%d\"",emp_id,emp_name,emp_address,emp_salary];
    
    
         NSData *myRequestData = [NSData dataWithBytes: [str UTF8String] length: [str length]];
    
         NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:@"http://localhost/~jeetulives/hello.php"]];
    
         [request setHTTPMethod: @"POST"];
         [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
         [request setHTTPBody: myRequestData];
    
         NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    
         NSString *response = [[NSString alloc] initWithBytes:[returnData bytes] length:[returnData length] encoding:NSUTF8StringEncoding];
    
         NSLog(@"%@",response);
    

    PHP 文件完美,php 文件没有问题。

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2015-03-11
      相关资源
      最近更新 更多