1
我有以下SELECT語句在SQL Server查詢工具上「工作」並返回行。但是,當我在PHP上運行它時,它不會返回任何行。我知道連接和設置正在工作,因爲當我創建一個簡單的查詢,如「SELECT * from ...」可以工作。這是我的代碼。帶有sqlsrv_query的SELECT語句不返回結果
$tsql = "SELECT [d].[Device_Type_Name],
[a].[Company_ID] AS [Alliance],
[a].[Device_Address]
FROM [dbo].[AL_LKP_User_Device] AS [a]
INNER JOIN [dbo].[AL_LKP_User] AS [b]
ON [a].[Login_ID] = [b].[Login_ID]
INNER JOIN [dbo].[AL_LKP_NOTIFICATION_MASTER_LOG] AS [c]
ON [b].[Login_ID] = [c].[Login_ID]
INNER JOIN [dbo].[AL_LKP_Device_Type] AS [d]
ON [a].[Device_Type_ID] = [d].[Device_Type_ID]";
$stmt = sqlsrv_query($conn, $tsql);
if(!$stmt)
{
die(print_r(sqlsrv_errors(), true));
}
$rows = sqlsrv_has_rows($stmt);
if ($rows === true)
echo "There are rows. <br />";
else
echo "There are no rows. <br />";
我總是得到沒有行時,實際上有行。我需要在SQL語句中更改什麼?
'sqlsrv_has_rows'可以返回false,如果沒有行,或者如果發生錯誤,可能是這裏的情況。你確定連接正常嗎?如果您嘗試從一個表格中進行簡單選擇,會怎樣? –
是的,連接正在工作。如果我做了一個簡單的「SELECT * FROM [dbo]。[AL_LKP_User_Device]」,它工作並返回結果。 –
你應該直接運行你的腳本(如sql)。然後,你會看到實際的結果。 –