我正在尝试向MySQL数据库插入一些值,通过iPad应用程序在线访问它。
发送数据:
if(txtInput != nil){
NSString *postVars = [NSString stringWithFormat:@"id=%d&input=%@", index, txtInput.text];
NSLog(@"%d",index);
index++;
NSData *data = [postVars dataUsingEncoding:NSUTF8StringEncoding];
NSString *strURL = @"http://localhost:8888/Insert.php";
NSURL *url = [NSURL URLWithString:strURL];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc]initWithURL:url];
[req setHTTPBody:data];
[req setHTTPMethod:@"POST"];
NSURLConnection *con = [NSURLConnection connectionWithRequest:req delegate:self];
}
Web服务脚本:
<?php
$host = 'localhost';
$username = 'root';
$password = 'root';
$con = mysql_connect($host, $username, $password);
if(!$con)
{
echo "Failed connection";
echo "<br/>";
die('Connection failed');
}
mysql_select_db("unbounded", $con);
$ids = $_GET['id'];
$str = $_GET['input'];
$in= mysql_query("INSERT INTO `unbounded`.`stuff` (`id`, `string`) VALUES ('$ids','$str');");
echo $in;
echo "<br/>";
mysql_close($con);
?>
在PHPAdmin页面上运行我的应用程序后,每次执行应用程序时,我都可以看到id值已设置为0,而字符串值为空。
如果我通过浏览器运行脚本来插入数据。顺便说一句,一旦我执行脚本vi浏览器,我发现与DB的连接已经很好地建立。 。 可能是什么问题? 最好的regrads
答案 0 :(得分:1)
在您的iOS应用中,您使用POST方法发送数据
[req setHTTPMethod:@"POST"];
但是你在PHP中读取GET
$ids = $_GET['id'];
如果两者都使用相同的HTTP方法
,它应该有效与您的问题无关,但您的PHP代码容易受到 SQL注入攻击。