php - 如何在while循环中使用curl传递数据库表值?
问题描述
在下面的代码中,我试图为“ OrderNo & AWB ”动态传递值。
$sql="SELECT order_id , alternateno FROM do_order";
$con=mysqli_connect("localhost","root","","do_management");
if ($result=mysqli_query($con,$sql))
{
while ($row=mysqli_fetch_row($result))
{
$data =
array (
'OrderNo' => '$row[order_id]',
'ManifestDetails' =>
array (
'AWB' => '$row[alternateno]',
'PaymentStatus' => 'COD',
),
);
}
mysqli_free_result($result);
}
mysqli_close($con);
$url = "http://1234.1234.1234.1234";
$data = json_encode($data);
$curl = curl_init($url);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response ."\n";
每次我在浏览器中调用 URL 时,它都会显示以下错误消息:
"ReturnMessage":"具有相同订单 ID ($row[order_id]) 的 AWB no 已经存在","AWBNo":"$row[alternateno]"
但是如果我给OrderNo
(16445)和AWB
(16445)的静态值,那么它工作正常:
"ReturnMessage":"成功","AWBNo":"16445"
所以看来我没有正确传递值,请指导我。
解决方案
去掉order_id和alternateno的引号试试
<?php
$sql="SELECT order_id , alternateno FROM do_order";
$con=mysqli_connect("localhost","root","","do_management");
if ($result=mysqli_query($con,$sql))
{
while ($row=mysqli_fetch_row($result))
{
$data =
array (
'OrderNo' => $row['order_id'],
'ManifestDetails' =>
array (
'AWB' => $row['alternateno'],
'PaymentStatus' => 'COD',
),
);
}
mysqli_free_result($result);
}
mysqli_close($con);
?>
推荐阅读
- hibernate - 是否可以在 Grails 3 中读取和写入不同的数据源 URL?
- spring-boot - RestTemplate 是线程安全的吗
- business-intelligence - 如何在 Spotfire 中更改一个网页浏览的大小(分辨率)
- azure-managed-identity - 从 VM 中查询 IMDS 时,检索令牌的默认 MSI 身份是什么
- python - Python 使用列表推导嵌套 for 循环
- python - 来自 unittest.mock.patch 的意外行为
- mysql - 从 eloquent 集合中获取关系计数
- javascript - 为什么不能从普通函数或全局范围使用 await
- python - python包和导入,从模块导入错误
- python - Squish 无法识别物体