2013-09-25 80 views
0

我知道什麼語法錯誤,但我無法找到我的語法問題。我沒有在phpMyAdmin的SQL第一,而不是我剛複製,並把變量MY 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

你需要運行插入查詢

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