无法将UDID从iPhone发送到PHP到MySQL数据库

时间:2012-01-30 06:34:21

标签: php iphone mysql phpmyadmin

我很难将UDID从iPhone发送到我的MySQL数据库的PHP脚本。我没有问题将数据发布到PHP脚本,但由于某种原因,PHP没有将它放入数据库。我尝试输入“12343214312”作为我的示例UDID并且可以工作,但实际的UDID不是出于某种原因。我正在制作一些格式错误吗?

这是我的PHP代码:

<?php

    $udidfromiphone = $_POST['udidfromiphone'];
    //Connect To Database
    $hostname='HOSTNAME.db.7774297.hostedresource.com';
    $username='USERNAME';
    $password='PASSWORD';
    $dbname='DBNAME';

    mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
    mysql_select_db($dbname);

$query = "INSERT INTO mydatabase VALUES ($udidfromiphone,'7')";
    echo "Values added";
    mysql_query($query);


     mysql_close();   
?>

在我的MySQL中,我有两个字段,一个用于UDID,一个是varchar(60),另一个字段是一个整数。

谢谢!

1 个答案:

答案 0 :(得分:2)

INSERT INTO mydatabase VALUES ($udidfromiphone,'7')

使用数字尝试此操作时,查询将如下所示:

INSERT INTO mydatabase VALUES (12345678,'7')

这是有效的SQL。 UDID虽然由字母和数字组成,但查询将如下所示:

INSERT INTO mydatabase VALUES (ABCDE12345FGHI,'7')

这不是正确的SQL。 引用你的字符串:

INSERT INTO mydatabase VALUES ('$udidfromiphone','7')

此外,这很容易引入SQL。 逃避你的价值观。谷歌的“SQL注入”,那里有很多关于它的资料。