2014-02-21 101 views
0

我有從csv文件導入到數據庫的產品。而對於產品名稱,在存儲產品的同時,我正在使用addslashes()函數。而在前端,我使用stripslashes()功能,同時顯示產品名稱。需要從字符串中刪除特殊字符來自數據庫

但是對於某些產品,我在顯示時顯示特殊字符,我如何刪除這些字符。我嘗試了幾乎所有的Google結果。 這是鏈接http://www.industrialstores.com/search_results/WD-40/46

雖然進口,我使用這樣的查詢:

$insert_qry = "insert into is_product_info set product_name = '".addslashes($data['product_name'])."', 
                sku = '".addslashes($data['sku'])."', 
                friendly_url = '".addslashes($friendly_url)."', 
                vendor = '".$data['vendorid']."', 
                manufacturer = '".$data['brandid']."', 
                retail_price = '".$data['price']."', 
                wholesale_price = '".$data['cost_price']."', 
                status = '".$data['available']."', 
                image = '".addslashes($image_name)."', 
                short_description = '".addslashes($data['teaser'])."', 
                tax = '".$data['product_taxable']."', 
                added_by='".$rs_employee_added['userId']."', 
                creation_date='".$today_date."', 
                added_by_name='".$rs_employee_added['firstname']. ' '. $rs_employee_added['lastname']."'"; 

而且同時顯示,這樣stripslashes($product_data['product_name']);

+0

爲什麼不使用PDO,活動記錄或任何提供可讀和安全的SQL語句?你提供的將是你將來的一個重要的保證。 –

回答

0

您可以隨時使用htmlspecialchars(),以防止它們運行的代碼
或者你可以RegEx他們出來。

$product_data['product_name'] = preg_replace('[^0-9a-zA-Z]+, '', $product_data['product_name']); 
+0

哎呀,錯過了' - 代碼應該是'$ product_data ['product_name'] = preg_replace('[^ 0-9a-zA-Z] +','',$ product_data ['product_name']);' – Magictallguy

相關問題