I can execute query like this against sql server:
DECLARE @ROWS INT = 2, @PAGE INT = 2
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (ORDER BY ID) AS _NO
FROM [Reports].[dbo].[Cycle]
) AS SOD
WHERE SOD._NO BETWEEN ((@PAGE-1)*@ROWS)+1
AND @ROWS*(@PAGE)
GO
and i got result:
but if i try to do so in pdo through dblib it doesn't work:
$stmt = $pdo->query("
DECLARE @ROWS INT = 2, @PAGE INT = 2
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (ORDER BY ID) AS _NO
FROM [Reports].[dbo].[Cycle]
) AS SOD
WHERE SOD._NO BETWEEN ((@PAGE-1)*@ROWS)+1
AND @ROWS*(@PAGE)
GO
");
var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
error code:
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 102 General SQL Server error: Check messages from the SQL Server [102] (severity 15)
description of error according error mesages: http://www.sql-server-helper.com/error-messages/msg-1-500.aspx
is:
Incorrect syntax near '%.*ls'.