将数据插入在线数据库

时间:2013-02-04 23:56:33

标签: php mysql objective-c sql ipad

我正在尝试向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

1 个答案:

答案 0 :(得分:1)

在您的iOS应用中,您使用POST方法发送数据

[req setHTTPMethod:@"POST"];

但是你在PHP中读取GET

$ids = $_GET['id'];

如果两者都使用相同的HTTP方法

,它应该有效

与您的问题无关,但您的PHP代码容易受到 SQL注入攻击。