php - 将 API 中的多个值插入 mysql 数据库

标签 php mysql sql mysqli

我连接到一个跟踪客户订单的 API。有些订单只有一种产品,有些订单在一个订单中有多种产品。当我尝试插入我的数据库时,我只得到第一个产品。如果产品不止一个,我想插入所有产品。 API 的 XML 到 productName 是 ->orderItems->orderItem->productName 我试图遍历所有这些但我仍然只得到第一个产品。

foreach ($customer_orders as $customer_order) {
    $chOrder = curl_init('https://' . $customer_order->reference);
    curl_setopt($chOrder, CURLOPT_USERPWD, "username" . ":" . "password");
    curl_setopt($chOrder, CURLOPT_HTTPHEADER, array('Content-Type: application/xml'));
    curl_setopt($chOrder, CURLOPT_RETURNTRANSFER, true);
    $orderResult = curl_exec($chOrder);
    curl_close($chOrder);

    $shouldContinue = true;
    try {
        $singleXML = new SimpleXMLElement($orderResult);
    } catch (Exception $e) {
        $shouldContinue = false;
        error_log($e);
        error_log('Failed to get history for ' . wp_get_current_user()->user_email . ' using refernece: ' .  $customer_order->reference);
    }

    if ($shouldContinue) {

        ++$orderCount;


        foreach ($singleXML->orderItems->orderItem as $item) {
            $product = htmlentities($item->productName, ENT_QUOTES, 'UTF-8');
        }


        $con = mysqli_connect('localhost', 'root', 'password', 'database');

        $query = "INSERT IGNORE INTO customer_product_list(`product`)VALUES('$product')";

        mysqli_query($con, $query);

        mysqli_close($con);
    }
}

最佳答案

尝试将插入查询放入 foreach 循环

$con = mysqli_connect('localhost','root','password','database');
foreach ( $singleXML->orderItems->orderItem as $item ) {
    $product = htmlentities($item->productName, ENT_QUOTES, 'UTF-8');
    $query = "INSERT IGNORE INTO customer_product_list(`product`) VALUES('$product')";

    mysqli_query($con,$query);     
}
mysqli_close($con);

关于php - 将 API 中的多个值插入 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40294996/

相关文章:

php - 在 PHP 中判断单个字符是否为字母数字的最有效方法是什么?

mysql - mysql删除错误

PHP通过下拉列表显示来自mysql的用户数据

不使用 setString 的 Java SQL 转义

c# - 将 SQL Rank() 转换为 LINQ 或替代方法

php - 如何将数组中的字符串分解为更多数组 PHP

php - 如何使用子查询从两个表中获取值?

php - 使用 php 更新 Mysql

java - 如何有效地从 SQL Server 读取 15+ 百万条记录,进行一些处理,然后将它们写入平面文件?

php - XMPP (eJabberd) 如何为浏览器工作