如何在读取 fgetcsv 时删除存储在数据库中的双引号
How to remove double quotes stored in the database while reading through fgetcsv
这是我的代码。每当我执行此操作时,数据都会以 "park avenue" 的双引号形式存储在数据库中。
if ($_FILES["csv_file"]["size"] > 0)
{
//get the csv file
$file = $_FILES["csv_file"]["tmp_name"];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO add_product(product_id, product_name, date) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",","'"));
//
//redirect
header('Location: http://abcd.adisoftronics.in/index.php/abc/csv_1?success=1');
die;
}
最简单的方法是手动替换它们。
if ($data[0]) {
mysql_query("INSERT INTO add_product(product_id, product_name, date) VALUES
(
'".str_replace('"','',addslashes($data[0]))."',
'".str_replace('"','',addslashes($data[1]))."',
'".str_replace('"','',addslashes($data[2]))."'
)
");
}
如果你想取出更多的字符,你应该检查像 htmlspecialchar() 这样的函数。
这是我的代码。每当我执行此操作时,数据都会以 "park avenue" 的双引号形式存储在数据库中。
if ($_FILES["csv_file"]["size"] > 0)
{
//get the csv file
$file = $_FILES["csv_file"]["tmp_name"];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO add_product(product_id, product_name, date) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",","'"));
//
//redirect
header('Location: http://abcd.adisoftronics.in/index.php/abc/csv_1?success=1');
die;
}
最简单的方法是手动替换它们。
if ($data[0]) {
mysql_query("INSERT INTO add_product(product_id, product_name, date) VALUES
(
'".str_replace('"','',addslashes($data[0]))."',
'".str_replace('"','',addslashes($data[1]))."',
'".str_replace('"','',addslashes($data[2]))."'
)
");
}
如果你想取出更多的字符,你应该检查像 htmlspecialchar() 这样的函数。