2013-07-29 5 views
0

Я загружаю данные HEX в базу данных MySQL.
Загрузка данных HEX в базу данных MySQL

$sql= "INSERT into MyTable VALUES ($date,$data)"; 
if (mysqli_query($con,$sql)) { 
    echo "success"; 
} else { 
    echo "failed". mysqli_error($con); 
} 

здесь $data это данные HEX, что данные имеют 27 что эквивалентно 'в ASCII. поэтому я получаю сообщение об ошибке

У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «xxxxxxxxxx» в строке 1.

как исправить эту проблему?

+0

Обычно проблема, что гораздо проще решить с помощью [подготовленных statments] (http://php.net /manual/en/mysqli.prepare.php) – fvu

ответ

2

Положите одиночные кавычки вокруг переменных

$sql= "INSERT into loco54321 VALUES ('$date','$data')";<br> 
+0

не работает. – RJ501

3

Посмотрите в mysql_real_escape_string и mysqli_prepare, чтобы защитить ваши запросы. Ваша проблема заключается в том, что вы отправляете необработанные данные прямо в SQL. Это не только вызывает у вас ошибки, но также и incredibly insecure.

-1

Вы должны указать столбец таблицы, в которой и пытаются ввести данные

INSERT INTO table_name (column1, column2, column3,...) 
    VALUES (value1, value2, value3,...) 
+0

Это необязательно, если все столбцы указаны в списке значений. Включая первичный ключ. Мы не можем сказать, было ли это сделано в этом случае. – Leonard

Смежные вопросы