次のクエリは、Microsoft SQL Server Management Studio で実行すると正常に動作しますが、php を介してクエリを実行すると、出力が得られません (mssql_query() 以降は何もレンダリングされません)。
SQL クエリから削除for xml path('')
して再度 php で実行すると、mssql_query() を超えるすべてがレンダリングされます)。
xml path('') と PHP の問題を知っている人はいますか?
SELECT DISTINCT x1.AcademicYearID, x1.RefNo, x1.Source, x1.Surname, x1.FirstForename, x1.Heard,convert(VARCHAR, x1.Date, 121) as Date, Notes, School,
(SELECT DISTINCT x2.Subject + ', ' as 'data()' from [db].[dbo].[vCC_Mkt_Enquiries] x2 WHERE x1.RefNo = x2.RefNo AND x1.Source = x2.Source for xml path('')) as Subject
FROM [db].[dbo].[vCC_Mkt_Enquiries] x1
WHERE x1.AcademicYearID = '13/14'
PHP
$sql = "SELECT DISTINCT x1.AcademicYearID, x1.RefNo, x1.Source, x1.Surname, x1.FirstForename, x1.Heard,convert(VARCHAR, x1.Date, 121) as Date, Notes, School,
(SELECT DISTINCT x2.Subject + ', ' as 'data()' from [db].[dbo].[vCC_Mkt_Enquiries] x2 WHERE x1.RefNo = x2.RefNo AND x1.Source = x2.Source for xml path('')) as Subject
FROM [db].[dbo].[vCC_Mkt_Enquiries] x1
WHERE x1.AcademicYearID = '$year'";
$internal_events = mssql_query($sql, $connection) or die ("Error in query: $sql. ".mssql_error());
注: 次のエラーまたはダイ エラーは表示されません。
or die ("Error in query: $sql. ".mssql_error());