使用撇号mysql php插入记录

时间:2014-01-02 11:49:14

标签: php mysql

我想使用PHP将带有撇号的记录插入到MySQL数据库中。以下是我的代码:

$importer_name =mysql_escape_string ($objWorksheet->getCellByColumnAndRow(1,3)->getValue());
$exporter_name = $objWorksheet->getCellByColumnAndRow(1, 3)->getValue();
$prod_quantity_unit = $objWorksheet->getCellByColumnAndRow(1,6)->getValue();
$prod_fob_value = $objWorksheet->getCellByColumnAndRow(5,6)->getValue();
$prod_quantity = $objWorksheet->getCellByColumnAndRow(1,8)->getValue();
$prod_fob_unit= $objWorksheet->getCellByColumnAndRow(5,8)->getValue();
$prod_gross_waight= $objWorksheet->getCellByColumnAndRow(1,10)->getValue();
$prod_cif_value= $objWorksheet->getCellByColumnAndRow(5,10)->getValue();
$prod_net_weight= $objWorksheet->getCellByColumnAndRow(1,12)->getValue();
$prod_cif_unit_price= $objWorksheet->getCellByColumnAndRow(5,12)->getValue();
$prod_brand= $objWorksheet->getCellByColumnAndRow(5,14)->getValue();
$hs_code = $objWorksheet->getCellByColumnAndRow(1,17)->getValue();
$shipping_date = $objWorksheet->getCellByColumnAndRow(5,17)->getValue();
$customs = $objWorksheet->getCellByColumnAndRow(1,19)->getValue();
$transport_company = $objWorksheet->getCellByColumnAndRow(5,19)->getValue();
$country_of_origin = $objWorksheet->getCellByColumnAndRow(1,21)->getValue();
$transport_mode = $objWorksheet->getCellByColumnAndRow(5,21)->getValue();
$country_of_trade = $objWorksheet->getCellByColumnAndRow(1,23)->getValue(); 
$hs_code_description = $objWorksheet->getCellByColumnAndRow(1,26)->getValue();
$product_description = $objWorksheet->getCellByColumnAndRow(1,28)->getValue();

$insertquery="INSERT INTO tb_peru_data
    (importer_name,exporter_name,product_quantity_unit,
    product_fob_unit,product_quantity,product_fob_value,
   product_gross_weight,product_cif_value,
   product_net_weight,product_cif_unit_price,
   product_brand,shipping_hs_code,shipping_date,
   shipping_customs,shipping_transport_company,
   shipping_country_of_origin,shipping_transport_mode,
   shipping_country_of_trade,hs_code_description,
   product_description) 
    VALUES
('$importer_name','$exporter_name','$prod_quantity_unit',
   '$prod_fob_unit','$prod_quantity','$prod_fob_value',
   '$prod_gross_waight','$prod_cif_value','$prod_net_weight',
   '$prod_cif_unit_price','$prod_brand','$hs_code','$shipping_date',
   '$customs','$transport_company','$country_of_origin',
   '$transport_mode','$country_of_trade',
   '$hs_code_description','$product_description')";

      mysql_query($insertquery)or die('ErrorrPERU: '.mysql_error());
     /*$del="DELETE * FROM tb_excel_file";
     mysql_query($del);*/

>

这不起作用,并出现以下错误:

  

您的SQL语法有错误;检查对应的手册   到你的MySQL服务器版本,以便在附近使用正确的语法   第3行's','12U','6','9','54', '34.83','55.5','31.83','6.17','','7323931000','2008/04/1'

2 个答案:

答案 0 :(得分:0)

使用mysqli_real_escape_string代替弃用mysql_real_escape_string 此函数将强制您输入mysql表/数据库。 通过这种方式,您可以在转义时考虑整理

答案 1 :(得分:-1)

您可以在PHP中使用real_escape_string()。你需要转义撇号(即告诉SQL撇号是字面意思而不是字符串的开头或结尾)。要添加更多,我会说你也可以使用PDO,但考虑使用addslashes($ string)和stripslashes($ string)。