mysqli_fetch_row()
создает массив индексированных массивов. Получите доступ к данным набора результатов, используя индексы столбцов [0]
для order_id
и [1]
для alternateno
. Вы также должны удалить одинарные кавычки при хранении $row[0]
и $row[1]
в $data
.
Прямо сейчас ваш запрос будет возвращать результирующий набор из n строк. ваш while()
цикл будет перезаписывать, перезаписывать и перезаписывать $data
и сохранять только данные строки последней итерации.
Если вы хотите сохранить все данные строк в $data
, напишите $data[]
, чтобы вставить новые данные строк в массив $data
.
непроверенный код:
if (!$con = mysqli_connect("localhost", "root", "", "do_management")) {
echo "connection error";
} elseif (!$result = mysqli_query($con, "SELECT order_id, alternateno FROM do_order")) {
echo "query error";
} else {
$url = "http://114.143.206.69:803/StandardForwardStagingService.svc/AddManifestDetails";
while ($row = mysqli_fetch_row($result)) { // fetch_row does not generate associative keys
$data = [
'OrderNo' => $row[0],
'ManifestDetails' => ['AWB' => $row[1], 'PaymentStatus' => 'COD']
];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_VERBOSE, true);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response ."\n";
}
mysqli_free_result($result);
}