通过验证将数据从csv自动导入mysql表

yptwkmov  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(221)

我有两张table:

产品类别主控

id |产品|类别|名称

产品主控

id |产品|类别| id |产品|名称
csv文件中的数据格式如下:

xyz\u产品详细信息.csv

id |产品|类别|名称|产品|名称
我正在尝试编写一个脚本,每次上载新的csv文件时,它都会自动从Web服务器的“数据”文件夹中读取csv文件,并从上述格式的csv文件中读取数据,并根据product\u category\u主表中的product\u category\u名称验证数据,获取product\u category\u id,然后检查product\u category\u id和product\u name是否存在于product\u master表中的一行中,如果不存在,则应在product\u master表中插入记录。应该对csv文件中的所有记录执行此操作。有人能帮我怎么做吗?

aiqt4smr

aiqt4smr1#

这是基本代码,我还没有测试过。使产品id或名称唯一,以避免在数据库表中重复。是 啊。但是代码请求没有完成!!在这里!!!

$handle =  fopen('data/yourcsvfilename.csv', 'r');
$conn = mysqli_connect('localhost', 'root','','databasename');
    while($data = fgetcsv($handle)){
$id = $data[0];
$category = $data[1];
$product = $data[2];

$qgetcatid = "select id from product_category_master where category = '{$category}'";
$rgetcatid = mysqli_query($conn, $qgetcatid) or die (mysqli_error($conn));  

$rgetcatid = mysqli_fetch_assoc($rgetcatid);

$catid = $rgetcatid[0];

$qi = "insert ignore into product_master set product_name = '{$product}', id = '{$id}', product_cat_id = '{$catid}'"; 
$rgetcatid = mysqli_query($conn, $qi) or die (mysqli_error($conn)); 
}

相关问题