Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP提取XML信息并插入数据库_Php_Xml_Csv_Mysqli_Meekro - Fatal编程技术网

使用PHP提取XML信息并插入数据库

使用PHP提取XML信息并插入数据库,php,xml,csv,mysqli,meekro,Php,Xml,Csv,Mysqli,Meekro,目前我有以下代码,我所做的是从XML中提取信息,然后生成一个CSV以手动导入数据库。但我正在考虑避免生成CSV文件的可能性,更好地自动将提取的内容插入数据库 <?php require_once 'app/config.php'; $xml = simplexml_load_file('xml/products.xml'); $codes = []; foreach($xml->products as $i => $product) {

目前我有以下代码,我所做的是从XML中提取信息,然后生成一个CSV以手动导入数据库。但我正在考虑避免生成CSV文件的可能性,更好地自动将提取的内容插入数据库

<?php
    require_once 'app/config.php';

    $xml = simplexml_load_file('xml/products.xml');

    $codes = [];
    foreach($xml->products as $i => $product) {
        $data = [];
        $data[] = (string)$product->key;
        $data[] = (string)$product->price;
        $data[] = (string)$product->quantity;
        $codes[] = $data;
    }

    $fp = fopen('products.csv', 'w');

    foreach ($codes as $code) {
        fputcsv($fp, $code);
        echo implode(',', $code) . '<br>';
    }

    fclose($fp);
?>
我用来与数据库通信,所以它可能是这样的:

DB::insert('products', array(
  'key' => A10001,
  'price' => 18.50,
  'quantity' => 85
));

有人能帮我在数据库中插入所有信息以保存导出和导入文件的过程吗?提前感谢您的时间。

看起来不错,只需在foreach@Viney我理解,问题是我不知道如何单独获取数据,我可以进行插入,但我不能单独获取,例如key$product->key;因为我只得到第一个字段。@Viney'key'=>???、'price'=>??、'quantity'=>???请尝试
$data['key']=(字符串)$product->key
(对其他变量重复)然后您可以调用
DB::insert('products',$code)
foreach
循环中。
DB::insert('products', array(
  'key' => A10001,
  'price' => 18.50,
  'quantity' => 85
));