Php MYSQL在列上插入相同ID不同的分解

Php MYSQL在列上插入相同ID不同的分解,php,mysql,excel,explode,Php,Mysql,Excel,Explode,我需要帮助,让我的脚本在导入文档中的特定符号后自动排序ID,让我解释一下 我有一个excel格式的文档,其中包括 ID____PRODUCT___________ 1_____prod1*prod2*prod3_ 2_____prod1*prod2*prod3_ 3_____prod1*prod2*prod3_ 所以我需要做的是,将它们插入mysql,如下所示 ID____PRODUCT____ 1_____prod1______ 1_____prod2______ 1_____prod3__

我需要帮助,让我的脚本在导入文档中的特定符号后自动排序ID,让我解释一下

我有一个excel格式的文档,其中包括

ID____PRODUCT___________
1_____prod1*prod2*prod3_
2_____prod1*prod2*prod3_
3_____prod1*prod2*prod3_
所以我需要做的是,将它们插入mysql,如下所示

ID____PRODUCT____
1_____prod1______
1_____prod2______
1_____prod3______
2_____prod1______
2_____prod2______
2_____prod3______
3_____prod1______
3_____prod2______
3_____prod3______
所以在每一个*之后需要这样做,它会从中生成一个新对象,到目前为止我已经生成了这个脚本,它将它排序为2列,只需要让其他列使用相同的id对它排序。有什么想法吗

        while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
    {
        $count++;                                     

        $expl=explode(";",$emapData[0]);    $string1 = $expl[0];    $string2 = $expl[1];

        if($count>1){                               
          $sql = "INSERT into products(a,b) values ('$string1','$string2')";
          mysql_query($sql);
        }                                          
    }
它是一个csv文件,所以它与;这就是为什么我需要引爆它

所以我只需要插入每一个带有new*的产品,我可以想象使用另一个explode to,但是我如何分配它,以便它将它插入到一个新列中,该列的ID与第一列相同?

试试这个

 //connect using mysqli
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
    while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
    {
        $count++;                                     

        $expl=explode(";",$emapData[0]);    
        $string1 = $expl[0];//ID like 1    
        $string2 = $expl[1];//the prod1*prod2*prod3
        $arr_of_products = explode("*",$string2);
        foreach ($arr_of_products as $value) {
            $sql = "INSERT into products(a,b) values ('$string1','$value')";
            //mysql_query($sql); do not use it
            $result = $mysqli->query($sql);
        }

    }

您需要通过
*
分解
$string2
,然后循环所有要插入的值,同时停止使用
mysql()
函数!查看
mysqli/pdo
。是的,谢谢你的提示和技巧,让它工作起来了,我只使用mysql函数,因为它只供私人使用,我只上传一个脚本,然后每年使用一次函数或者其他什么,就这样。再次感谢@我刚刚回答了这个问题。任何API的使用都由用户自己决定,他没有就此征求意见。所以我真的不认为有理由投反对票。关于mysql_*函数的使用,这里有很多答案。但是大约10年后,我们都不再回答这些问题,而是进行OP更新或使用PDO或MySQLiStill。无论如何,我改变了我的答案。我只是在尝试了第一个评论提示后才看到这一点,但是的,我也做了类似的事情,只是有一点点,谢谢你的帮助!