Не удается отправить UDID с iPhone на PHP в базу данных MySQL - PullRequest
0 голосов
/ 30 января 2012

У меня проблемы с отправкой UDID с iPhone на PHP-скрипт в мою базу данных MySQL. У меня нет проблем с переносом данных в скрипт 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 Ответ

2 голосов
/ 30 января 2012
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. Избавьтесь от своих значений. Google для "SQL-инъекции", есть масса материала об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...