我有2张桌子:
id | product_category_name
id | product_category_id |产品名称
csv文件中的数据格式如下:
id | product_category_name |产品名称
我正在尝试编写一个脚本,该脚本将在每次上传新的csv文件时自动从网络服务器中的“数据”文件夹中读取csv文件,并且它将从上述格式的csv文件中读取数据并针对从product_category_master表中获取product_category_name,获取product_category_id,然后检查product_master表中是否存在product_category_id和product_name,如果不存在,则应将记录插入product_master表中。应该对csv文件中的所有记录执行此操作。谁能帮我怎么做?
答案 0 :(得分:-1)
这是基本代码,不过我没有测试过。使产品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));
}