2011-02-03 2 views
0

Я извлекаю данные из базы данных upc, а затем хочу вставить данные в свою базу данных, все код верен, но когда я проверяю свою базу данных, в моей таблице базы данных нет записи, мой код проблема с вводом данных

if(!$resp->faultCode()) 
    { 
     //Store the value of the response in a variable 
     $val = $resp->value(); 
     //Decode the value, into an array. 
     $data = XML_RPC_decode($val); 
     //Optionally print the array to the screen to inspect the values 
       echo $upc=$data['upc']; 
       echo $ean=$data['ean']; 
       echo $description=$data['description']; 
       echo $size=$data['size']; 
       $query1="INSERT INTO upc(upc,ean,description,size) values('$upc','$ean','$description','$size')"; 
       var_dump($query1); 
       $result1=mysql_query($query1); 
Обратите внимание, что i отразил все переменные, и результат показан следующим образом:
639382000393 
0639382000393 
The Teenager's Guide to the Real World by BYG Publishing 
book 
string(166) "INSERT INTO upc(upc,ean,description,size) values('639382000393 
','0639382000393 
','The Teenager's Guide to the Real World by BYG Publishing 
','book 
')" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Guide to the Real World by BYG Publishing 
','book 
')' at line 1
, но данные не включены в мой стол

+0

Что возвращает mysql_query? 'true' или' false'? Вы всегда можете получить сообщение об ошибке с помощью 'mysql_error', если' mysql_query' возвращает 'false' – PatrikAkerstrand

+0

i обновить мой вопрос с ошибкой – hunter

+0

проверить результат ошибки по запросу – Grumpy

ответ

2

данные включает ' характер и, вместо того чтобы использовать связанные переменные, вы просто затирание строки вместе, чтобы создать запрос. Поскольку вы используете ' для разграничения строк, SQL разбивается. Это также означает, что вы уязвимы для атак SQL Injection.

Использование bound variables.

+0

привет, сэр это работает сейчас, и я хочу показать данные, которые нужно отправить в json для этого '$ json = array(); echo $ json [] = $ data; 'но ничего не отображается на странице – hunter

1

Уверен, что это не сработает. У вас есть одна цитата в вашей строке. Выбери струны, и с тобой все будет хорошо.

строка (166) «INSERT INTO БЗК (UPC, EAN, описание, размер) значения ('639382000393
', '0639382000393
', 'Подросток' Руководство к реальному миру по BYG Publishing
«» книга
«)»

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