【问题标题】:Insert multiple values from API into mysql database将 API 中的多个值插入 mysql 数据库
【发布时间】:2016-10-27 22:10:02
【问题描述】:

我已连接到跟踪客户订单的 API。有些订单有一种产品,但有些订单在一个订单中有多种产品。当我尝试插入我的数据库时,我只得到第一个产品。我希望将所有产品插入多个产品的情况下。产品名称的 API 的 XML 是 ->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);
    }
}

【问题讨论】:

标签: php mysql sql mysqli


【解决方案1】:

尝试将插入查询放入 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);

【讨论】:

  • 实际上每次产品更换为新产品,最后最后一个产品将被插入到数据库中
  • 那么我怎样才能把它们都放进去呢?
  • 正如我回答的那样,尝试将插入查询放入 foreach 循环中,并将 conn 放在循环之外
  • 感谢您的帮助,但我试过了,它仍然只插入第一个。
  • 然后先打印 ($product) 看看有多少产品在 foreach 循环中打印
猜你喜欢
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 2018-08-16
  • 1970-01-01
  • 2015-04-22
  • 2018-11-09
  • 1970-01-01
相关资源
最近更新 更多