我从Amazon API请求中收到了XML数据,并成功将其存储到数组中。
数组如下所示:
array(2)
{
["ListOrdersResult"]=> array(2)
{
["Orders"]=> array(1)
{
["Order"]=> array(94)
{
[0]=> array(25)
{
["LatestShipDate"]=> string(20) "2018-05-09T06:59:59Z"
["OrderType"]=> string(13) "StandardOrder"
["PurchaseDate"]=> string(20) "2018-05-09T06:09:01Z"
["AmazonOrderId"]=> string(19) "111-1111111-111111"
["BuyerEmail"]=> string(38) "somecode@marketplace.amazon.com"
["IsReplacementOrder"]=> string(5) "false"
and so on....
现在我尝试在我的SQL数据库中存储来自这94个Order数组的2个变量,但没有运气。
到目前为止我尝试过:
$orderdata = array();
foreach($orders as $results) {
foreach($results as $amaorders) {
foreach($amaorders as $numbers){
foreach($numbers as $data => $finaldata){
$orderid = $finaldata['AmazonOrderId'];
$orderstatus = $finaldata['OrderStatus'];
$orderdata[] = "('$orderid','$orderstatus')";
}
}
}
}
$link = mysqli_connect("localhost", "sendjapa_amazon", "hayashir", "sendjapa_amazon");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$imploded = implode(',', $orderdata);
$sql= mysqli_query($link, "INSERT into amazon_orders (AmazonOrderId, OrderStatus) VALUES '.$imploded.'' ");
if($sql === false){
die(mysqli_error($link));
}
显示以下错误消息:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近''。('111-11111等等。
当我var_dump($ orderdata)时,看起来它正确地将数据存储到$ orderdata中:
array(92)
{
[0]=> string(33) "('111-111111-111111','Shipped')"
[1]=> string(35) "('222-222222-222222','Unshipped')"
[2]=> string(33) "('333-3333333-3333333','Shipped')"
[3]=> string(33) "('444-4444444-4444444','Shipped')"
and so on...
当我var_dump($ imploded)时,它看起来像这样:
string(3163) "('111-111111-111111','Shipped'),('222-222222-222222','Unshipped'),('333-333333-333333','Shipped'),('444-44444-444444','Shipped'), and so on...
通常我将数据库连接代码放在一个单独的文件中,但我已将其包含在此处,以便您可以看到完整的代码。
谢谢
答案 0 :(得分:0)
当你构建最终的SQL时,你有额外的引号和。' s。所以行中的代码应该是......
ws.Cells["A1:A25"].Style.Numberformat.Format = "#,##0.00 $";