2014-02-21 66 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

相关问题