所以我制作了这个文件,它上传了一个。CSV文件,然后在mysql数据库中插入数据,但是,由于某种原因,它在CSV文件的数据开始处添加了一个额外的"(引号)。所以对于一些东西:- 笔记本电脑,苹果Mac,750,100,50像这样,它会以以下方式插入到数据库中。
Category Product Name Price1 Price2 Price3
"Laptop Apple Mac 750 100 50
我不知道为什么,但是它在Laptop之前加了一个引号。
我能做些什么来解决这个问题?下面是我的代码:-
<?php
session_start();
include '../inc/inc.functions.php';
include '../dbconnector.php';
include '../dbpdo.php';
include '../inc/inc.config.php';
if((isset($_SESSION['admin'])) && ($_SESSION['admin'] == 1))
{
$adminusername = $_SESSION['username'];
$date=date('Y-m-d');
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//prepare the statement for the insertion of the record via PDO
try{
global $conn;
$statement = $conn->prepare("INSERT INTO products(category,productname,baseprice,basepricewd,basepricenw,addedby,addedon) VALUES (?,?,?,?,?,?,?)");
//loop through the csv file and insert into database
while ($data = fgetcsv($handle,1000,",","'"))
{
if ($data[0]) {
$statement->execute(array(
$data[0],
$data[1],
$data[2],
$data[3],
$data[4],
$adminusername,
$date));
}
}
//
}//try
catch(PDOException $e)
{
echo $e->getMessage();
}
//redirect
header('Location: admin_importproducts_home.php?success=1'); die;
// echo "Products imported successfully";
}
}
else
{
header('Location:http://domain.co.uk/' . $config["admindir"] . '/adminlogin');
}
?>
CSV文件Laptop,Apple Mac,750,100,50
CSV图像链接:- https://i.stack.imgur.com/4v7Ez.png
str_replace('"', '', $data[0] );
str_replace('"', '', $data[1] );
str_replace('"', '', $data[2] );
str_replace('"', '', $data[3] );
str_replace('"', '', $data[4] );
will solve the problem.