4

PDO を使用して MS SQL 2000 データベースに接続していますが、同じ SQL 2000 サーバー上の別のデータベースへの左結合を作成したいと考えています。このクエリは、MSSQL クエリ アナライザーで実行すると正しい結果を返し、期待どおりに両方のデータベースからデータを取得します。

select t_job.pk_Job, t_JobSummary.Description, t_CarChecks.YesNo
from t_job
left join t_JobSummary on pk_Job=t_JobSummary.fk_Job
left join DATABASE2.dbo.t_CarChecks t_CarChecks on pk_Job=t_CarChecks.fk_Job
where t_JobSummary.Description_vc LIKE \'Cars %\'

ただし、Web ページから同じクエリを使用すると、結果が返されません。LEFT JOIN を 2 番目のデータベースに追加するまで、クエリは Web ページから機能し、以下に示すようにそのデータベースをコメントアウトすると、クエリは結果を返すので、問題が SQL にあることを確認できます (?!)。声明。

select t_job.pk_Job, t_JobSummary.Description --, t_CarChecks.YesNo
from t_job
left join t_JobSummary on pk_Job=t_JobSummary.fk_Job
--left join DATABASE2.dbo.t_CarChecks t_CarChecks on pk_Job=t_CarChecks.fk_Job
where t_JobSummary.Description_vc LIKE \'Cars %\'

ここや他のサイトを読んだ後、2 番目のデータベースにエイリアスを使用しましたが、まだ結果が得られません。

私は PDO を初めて使用しますが、これには困惑しています。役立つポインタ (または、ここに明らかな間違いがあることを知らせてください) をいただければ幸いです。

ありがとう!

4

2 に答える 2

3

非常に迅速な対応に感謝しますが、問題が見つかりました。PDOとはまったく関係がなく、データベースの2番目のテーブルに対するアクセス許可でした。新しいテーブルに対するアクセス許可があったため、SQLServerクエリアナライザーからのテストで結果が再調整されました。PDOを使用してテーブルをクエリするために使用しているユーザーは...

「Stack-Overflowagainに投稿する前にこれを確認してください」ノートブックの1つ...

于 2013-01-28T17:35:02.357 に答える
2

人生の究極の質問 The Universe And PDO の問題に対する答えは

$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

接続直後に設定します。
データベースで発生したエラーを再通知します

于 2013-01-28T18:15:41.417 に答える