Я создаю отчет с использованием php и серверной части SQL Server 2005. Я пишу полный запрос, который прекрасно работает на сервере SQL, при этом выдает ошибку при выполнении в PHP.
$query = "select distinct t1.VisitDate,t1.ReceiptNo,t1.VisitorNo,p.PatientName,STUFF((
SELECT f.Particular + ', ' from CollectionPointTable t2,FeesTable f
where t1.ReceiptNo = t2.ReceiptNo and f.ID = t2.TestID
FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)') ,1,0,'') Tests , sum(t1.payment) as Amount
from CollectionPointTable t1,patientinformationtable p
where p.visitorno = t1.visitorno and convert(varchar(10),t1.VisitDate,103) = '$date'
group by t1.Receiptno,p.patientname,t1.VisitorNo,t1.VisitDate
order by ReceiptNo";
$stid = sqlsrv_query($conn, $query);
$Today_patient_list = sqlsrv_fetch_array($stid,SQLSRV_FETCH_ASSOC);
Это ошибка, которая дает по ошибке
Предупреждение: sqlsrv_fetch_array () ожидает, что параметр 1 будет ресурсом, логическое значение указано в C: \ wampnew \ www \ logs \ viewTodaysCollection.php в строке 65
Use the following code, it should work:
$query = "select distinct t1.VisitDate,t1.ReceiptNo,t1.VisitorNo,p.PatientName,STUFF((
SELECT f.Particular + ', ' from CollectionPointTable t2,FeesTable f
where t1.ReceiptNo = t2.ReceiptNo and f.ID = t2.TestID
FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)') ,1,0,'') Tests , sum(t1.payment) as Amount
from CollectionPointTable t1,patientinformationtable p
where p.visitorno = t1.visitorno and convert(varchar(10),t1.VisitDate,103) = '$date'
group by t1.Receiptno,p.patientname,t1.VisitorNo,t1.VisitDate
order by ReceiptNo";
$stid = sqlsrv_query($conn, $query);
$Today_patient_list = sqlsrv_fetch_array($stid);
Других решений пока нет …