0
物理サーバをVMに移行し、OpenEdge ODBCを使用してデータを取得するページで問題が発生しています。ローカルマシンが正しいデータと配列形式を返しています。 VMはフィールド名として値を返し、いくつかのフィールドも欠落しています。PHP OpenEdge ODBCがフィールド名を返さない
ローカルマシン結果:
[billoflading] => 36003
[Codcliente] => 785
[Confirmado] => 0
[Enviara] =>
[Exportado] => 0
[Fembarcado] => 2017-11-02
[Hembarcado] => 52856
[Linea] =>
[pull_num] => 105461
[Salesorder] => 1151086
[Tipo] =>
[Trailer] => 7327
[transmitido] => 1
VM結果:
[36003] => 36003
[785] => 785
[0] => 0
[] =>
[2017-11-02] => 2017-11-02
[52856] => 52856
[105461] => 105461
[1151086] => 1151086
[7327] => 7327
[1] => 1
テストマシンとVMは、コードとOpenEdgeドライバの同じ正確なバージョンを使用しています。 PHPのバージョンは異なりますが、(動作する)物理サーバは古いバージョンです。チェックされたphp.iniとそれらはまったく同じように設定されています。私たちはLaravelを使用していますが、3つのバージョン(ローカル、VM、&物理)はすべて同じです。
コードスニペット:すべてのヘルプは高く評価され
$conn_id = odbc_connect("****","****","****", SQL_CUR_USE_ODBC);
$sql = "Select * FROM PUB.Shipper where billoflading ='36003'";
$result = odbc_do($conn_id, $sql);
echo "<pre>";
while($row = odbc_fetch_array($result)){
print_r($row);
}
echo "</pre>";
!
いいえ運がありません。フィールド名が値として表示されています。エイリアスも試しましたが、フィールド名も値にとどまりました:( – yeowoh