Iphone 发送ASIFormDataRequest请求

Iphone 发送ASIFormDataRequest请求,iphone,mysql,ipad,asiformdatarequest,Iphone,Mysql,Ipad,Asiformdatarequest,我正在尝试将数据从iPhone发送到php文件,以便在mySql中插入一些数据 在iPhone中,我编写了以下代码: -(IBAction) SendToServer{ NSString *phpUrl = @"http://mamdouhsaleh.com/myFolder/RegisteredPersons.php"; NSString *dbName = @"my_dbName"; NSString *localHost = @"localhost"; NSString *dbUser

我正在尝试将数据从iPhone发送到php文件,以便在mySql中插入一些数据

在iPhone中,我编写了以下代码:

-(IBAction) SendToServer{

NSString *phpUrl = @"http://mamdouhsaleh.com/myFolder/RegisteredPersons.php";

NSString *dbName = @"my_dbName";
NSString *localHost = @"localhost";
NSString *dbUser = @"my_userName";
NSString *dbPwd = @"my_password";

NSString *PersonName2 = personName.text;
NSString *CourseTitle2 = courseTitle.text;
NSString *MobileNo2 = mobileNo.text;
NSString *Email2 = email.text;


NSURL *link = [NSURL URLWithString:[phpUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:link];

[request setRequestMethod:@"POST"];
[request setPostValue:dbName forKey:@"dbName"];
[request setPostValue:localHost forKey:@"localHost"];
[request setPostValue:dbUser forKey:@"dbUser"];
[request setPostValue:dbPwd forKey:@"dbPwd"];
[request setPostValue:@"" forKey:@"submit"];

[request setPostValue:PersonName2 forKey:@"PersonName"];
[request setPostValue:CourseTitle2 forKey:@"CourseTitle"];
[request setPostValue:MobileNo2 forKey:@"MobileNo"];
[request setPostValue:Email2 forKey:@"Email"];

[request setTimeOutSeconds:120];
[request setDelegate:self];
NSError *error = [request error];
[request startAsynchronous];

NSDictionary *questions = nil;
if (!error) {
    NSData *response = [request responseData];
    NSString *json = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
    questions = [json objectFromJSONString];
    NSLog(@"Data: %@", questions);

}
}
我在im RegisteredPersons.php中写道:

<?php

if (isset($_POST['submit'])) {

$dbName = $_POST['dbName'];
$localHost = $_POST['localHost'];
$dbUser = $_POST['dbUser'];
$dbPwd = $_POST['dbPwd'];

$con = mysql_connect($localHost,$dbUser,$dbPwd);
$db_found = mysql_select_db($dbName);

mysql_query('SET CHARACTER SET UTF8');
mysql_query("SET NAMES utf8; ");

$myPageId = mysql_query("SELECT MAX(ID) FROM RegisteredPersons");
$row = mysql_fetch_row($myPageId);

$personId = $row[0]++;
$PersonName = $_POST['PersonName']; 
$CourseTitle = $_POST['CourseTitle'];
$MobileNo = $_POST['MobileNo']; 
$Email = $_POST['Email']; 

mysql_query("INSERT INTO RegisteredPersons VALUES (". $personId . ", '" . $PersonName . "', '" . $CourseTitle . "', " . $MobileNo . ", '" . $Email . "')");


mysql_close();

}

?>

我通过替换
$personId=$row[0]+%;
通过

$personId=$row[0]+1

首先,我看到了一件大错特错的事。您正在启动一个异步请求,并试图在它完成之前从中获取数据。现在,您可以将其更改为同步请求,因为据您所知,您在启动php代码之前就收到了一个错误。当你解决了这个问题后,我会开始回显php的结果,看看它在做什么。我发现单独调试每一部分并在php页面上进行手动查询更好,只需获取参数并构建URLI更改为synchronous,我通过echos测试了我的php,打印都正常,但我找不到阻止插入的错误。