php - 使用 curl 获取成功消息后更新数据库中的值
问题描述
使用 curl 在 url 中传递值后,我收到以下消息:
{"AddManifestDetails":[{"AuthKey":"Valid","ReturnMessage":"successful",}]
如果ReturnMessage 成功,那么我想更新数据库中的值,我尝试了以下代码:
<?php
$data =
array (
'OrderNo' => $order_id,
'AirWayBillNO' => $resultc[0]['awb'],
);
$url = "http://114.143.206.69:803/StandardForwardStagingService.svc/AddManifestDetails";
$data = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response ."\n";
$res=json_decode($curl_response);
foreach ($res->curl_response as $values)
{
if($values->ReturnMessage=='successful')
{
$usql="update do_order set tracking_id='".$resultc[0]['awb']."',shipping_name='xpress', where order_id='".$order_id."'";
$result=$db_handle->executeUpdate($usql);
echo "1";die;
}
else
{
echo $values->ReturnMessage;die;
}
}
这是完整的代码:https ://pastebin.com/EvcEY0xp
结果:
注意:未定义的属性:stdClass::$curl_response
警告:为 foreach() 提供的参数无效
解决方案
$res
将已经包含来自 curl 请求的解码响应,该响应只有 1 个属性 - AddManifestDetails
。
尝试以下操作:
<?php
$data =
array (
'OrderNo' => $order_id,
'AirWayBillNO' => $resultc[0]['awb'],
);
$url = "http://114.143.206.69:803/StandardForwardStagingService.svc/AddManifestDetails";
$data = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response ."\n";
$res=json_decode($curl_response);
if($res->AddManifestDetails[0]->ReturnMessage=='successful')
{
$usql="update do_order set tracking_id='".$resultc[0]['awb']."',shipping_name='xpress' where order_id='".$order_id."'";
$result=$db_handle->executeUpdate($usql);
echo "1";
die;
}
else
{
echo $res->AddManifestDetails[0]->ReturnMessage;
die;
}
推荐阅读
- oracle - 执行 IMP 命令时的 IMP-00403
- python - list(dictionary.values()) 与 dictionary.values()
- profiling - VisualVM 是否在检测字节码?
- php - Facebook Graph SDK 使用 URL 创建视频帖子
- sql - TSQL中的Varchar到日期时间
- google-chrome - 使用浏览器时忽略应用引擎标准防火墙规则,但使用 curl 时不会
- html - 如何在不添加额外容器的情况下以包含 html 的角度呈现变量?
- oracle - 如何将包括分区在内的完整表结构复制到oracle中的另一个表中?
- sql - SQL BigQuery 行到列
- c++ - 如何使用 PDFIUM c++ 保存 pdf