首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MySQL和PHP转换CSV文件结构

用MySQL和PHP转换CSV文件结构
EN

Stack Overflow用户
提问于 2013-03-31 19:41:18
回答 1查看 294关注 0票数 0

我正在尝试创建一个PHP函数,在这个函数中,我可以将一个CSV文件上传到MySQL中,然后导出另一个CSV文件,并对数据和表进行某些更改。

示例

CSV-1: 表名= Photolink 表内容= http:// www.sitename.com/image1.jpg

将其转换为:

CSV-2: 表名= img_URL 表内容= product/image1.jpg

我需要你的帮助,以修改代码,使这一工作;

我试过了这段代码,它仍然不起作用,朋友们可以帮我修一下吗!

代码语言:javascript
复制
        $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();

        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-31 19:50:24

翻转你的循环:

代码语言:javascript
复制
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语句中定义它。

还有很多其他的问题,但这应该会让你开始工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15733690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档