$conn=odbc_connect('mydatabase','','');
$sql="SELECT
Orders.OrderID,
Orders.OrderDate,
\"Order Details\".OrderID,
\"Order Details\".UnitPrice,
\"Order Details\".Quantity,
\"Order Details\".Discount,
FROM
\"Order Details\"
INNER JOIN
Orders
ON \"Order Details\".OrderID = Orders.OrderID";
$rs=odbc_exec($conn,$sql) or die("<p>".odbc_errormsg());
while (($row = odbc_fetch_array($rs)) !== false)
$rs の結果を出力しようとすると、何も返されません。Orders または \"Order Details\" のいずれかからフィールドに個別にアクセスしようとすると正常に動作しますが、2 つのテーブルを結合しようとすると何も出力されません。
これは、MSSQL を使用するときに名前にスペースが含まれるテーブルからフィールドを選択する正しい方法ですか? 「SELECT * FROM \"Order Details\"」を試すとうまくいくようですが、テーブルを結合しようとすると、「\Order Details\」.OrderID を指定する必要があり、それが混乱している可能性があると思います。
Apache エラー ログは奇妙な「odbc_fetch_array(): No tuples available at this result」メッセージを返しますが、無関係な理由でこのエラー メッセージがランダムにポップアップするのを見たので、これが実際の問題であるとは確信していません。それでも、私はそれをよく理解していないので、言及する必要があると思いました.
ありがとう!