我正在尝试创建一个PHP函数,在这个函数中,我可以将一个CSV文件上传到MySQL中,然后导出另一个CSV文件,并对数据和表进行某些更改。
示例
CSV-1: 表名= Photolink 表内容= http:// www.sitename.com/image1.jpg
将其转换为:
CSV-2: 表名= img_URL 表内容= product/image1.jpg
我需要你的帮助,以修改代码,使这一工作;
我试过了这段代码,它仍然不起作用,朋友们可以帮我修一下吗!
$data1 = $mysql->prepare("INSERT INTO products (name, model, quantity, image_url) VALUES (:name, :model, :quantity, :image_url)");
$data1->bindParam(':name', $name);
$data1->bindParam(':model', $model);
$data1->bindParam(':quantity', $quantity);
$data1->bindParam(':image_url', $image_url);
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
while ($data = fgetcsv($handle,1000,",","'")) {
if ($data[0]) {
$name = $data[0];
$model = $data[1];
$quantity = 100;
$image_url = $data[2];
$data1->execute();
}
}发布于 2013-03-31 19:50:24
翻转你的循环:
while ($data = fgetcsv($handle,1000,",","'")) {
if ($data[0]) {
mysql_query("INSERT INTO products (name, model, quantity, image_url) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
//quantity is 100 for all
'100',
'".addslashes($data[2])."'
)
");
}
}因为在您的原始代码中,$data甚至还不存在,直到您在while语句中定义它。
还有很多其他的问题,但这应该会让你开始工作。
https://stackoverflow.com/questions/15733690
复制相似问题