2013-09-25 5 views
0

Я знаю, что такое синтаксическая ошибка, но я не могу найти проблему в моем синтаксисе. Я сделал SQL в PHPMyAdmin первый и не только ив скопирован и переменные вОшибка синтаксиса SQL SQL

Error: 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 new carving chisels. 1 x 13mm 4-point finishing claw Chisel. Southern St' at line 3

Код:.

public function insert_row($vendor, $product_link, $product_title, $product_desc, $product_price){ 
    mysql_query("INSERT INTO `crawl_products` (`vendor` , `product_link` , `product_title` , `product_desc` , `product_price`) 
     VALUES (
     '$vendor', '$product_link', '$product_title', '$product_desc', '$product_price' 
     )") or die(mysql_error()); 
} 

Большое спасибо.

+3

Вам нужно, чтобы избежать вашего пользовательского ввода. –

+1

Ошибка возникает из-за того, что у вас есть одна цитата в ваших данных. Вы должны использовать функцию mysql_real_escape_string как функцию перед конкретизацией значений. Лучше использовать mysqli и привязку. –

ответ

1

Вы должны применить mysql_real_escape_string над каждой переменной перед запуском Вкладыше Query

public function insert_row($vendor, $product_link, $product_title, $product_desc, $product_price){ 

    $vendor = mysql_real_escape_string($vendor); 
    $product_link = mysql_real_escape_string($product_link); 
    $product_title = mysql_real_escape_string($product_title); 
    $product_desc = mysql_real_escape_string($product_desc); 
    $product_price = mysql_real_escape_string($product_price); 

    mysql_query("INSERT INTO `crawl_products` (`vendor` , `product_link` , `product_title` , `product_desc` , `product_price`) 
     VALUES (
     '$vendor', '$product_link', '$product_title', '$product_desc', '$product_price' 
     )") or die(mysql_error()); 
} 
1

Таблицы не нуждаются в серьезных акцентах, например. «` Vendor`»должны быть просто«продавец», и попытаться написать переменные, как это:

VALUES ('".$vendor."', 

он должен работать тогда.

А что sythnet писал о mysql_query($con относится к mysqli_qurey, не mysql_query

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