1
最近、ある会社が複数のデータベースをPHPでブリッジするように依頼しました。新しいデータベースのほとんどはMySQLですが、PROGRESSデータベースです。私は若干の誤りに遭遇するまで、すべてがうまくいっていた。PHP ODBC SQL JOIN
Field j.JobNum not found in LOCATION
私は最後の結合を削除すると、それが正常に動作します:
コードがj.JobNumは、次のエラーを返すことを除いて素晴らしい実行されます。重複するフィールドでも同じことが起こります。行が重なり合う場合、それらは出力されません。
$table_name = "Customer";
$fields = 'j.JobNum, Name, City, State, Zip';
$conn = odbc_connect($dsn, $username, $password, SQL_CUR_USE_ODBC);
$field_array = explode(', ', $fields);
$sql = "SELECT TOP 50 ".$fields." FROM PUB.JobProd j LEFT JOIN PUB.BookOrd b ON j.OrderNum=b.OrderNum LEFT JOIN PUB.Customer c ON b.CustNum=c.CustNum LEFT JOIN PUB.JobHead jh ON j.JobNum=jh.JobNum";
echo '<table>';
echo '<tr><td>JobNum</td><td>Name</td><td>City</td><td>State</td><td>Zip</td></tr>';
$rs = odbc_exec($conn,$sql) or die('Select failed!');
while(odbc_fetch_row($rs)){
echo '<tr>';
foreach($field_array as $key=>$field){
echo "<td>".odbc_result($rs, $field)."</td>";
}
echo '</tr>';
}
echo '</table>';
odbc_close($conn);
解決方法はありますか?私のコードに何か問題がありますか?