将数据发送到服务器不起作用

时间:2013-12-11 07:09:00

标签: php ios iphone objective-c ios5

我在服务器上创建了员工表。在那张桌子里我有四个字段

表格看起来像这样

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 sucessful无法输入数据:第1行的“emp_id”列截断数据

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

提前感谢...

2 个答案:

答案 0 :(得分:0)

放一个","在每个值之后

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

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

或者

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

答案 1 :(得分:0)

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

我的正确代码是

    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文件的问题。