MSSQL LEFT JOIN在同一服务器上的两个数据库之间,在使用PDO时不返回任何内容

时间:2013-01-28 17:10:45

标签: php tsql pdo sql-server-2000

我正在使用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 %\'

但是,当我从网页使用相同的查询时,不会返回任何结果。查询在网页上工作,直到我将LEFT JOIN添加到第二个数据库,如果我注释掉该数据库,如下所示,查询返回结果,所以我可以肯定(?!)问题出在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 %\'

在这里和其他网站上阅读后,我使用了第二个数据库的别名,但我仍然没有得到任何结果。

我是PDO的新手,这让我很难过。任何有用的指示(或让我知道这里有一个明显的错误),将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:3)

感谢您的快速回复,但我发现了这个问题。与PDO完全无关,它是数据库中第二个表的权限。 SQL Server查询分析器的测试重新调整了结果,因为我对新表有权限;我用来用PDO查询表的用户没有...

一个用于'再次在Stack-Overflow上发布之前检查此'笔记本...

答案 1 :(得分:2)

生命终极问题的答案宇宙和PDO问题是

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

连接后立即设置 它将重新发送数据库

中发生的任何错误