Это мой PHP код:LIMIT команда SQL Server
require_once ('ConfigSQL.php');
$per_page = 10;
if(isset($_GET['page'])) {
$page = ($_GET['page'] - 1);
}
else {
$page = 0;
}
$QueryCharacter = mssql_query ("
SELECT Character.AccountID, Character.Name, Character.CtlCode,
AccountCharacter.Number, AccountCharacter.ID,
memb___id, memb_name, memb__pwd2, mail_addr
FROM Character, AccountCharacter, MEMB_INFO
WHERE Character.AccountID=AccountCharacter.ID AND
AccountID=memb___id AND AccountCharacter.ID=memb___id
LIMIT {$page},{$per_page}
");
$rows = mssql_fetch_row($QueryCharacter);
$pages = $rows/$per_page;
$pages = $pages ? ((int)$pages == $pages) : ((int)$pages + 1);
И моя ошибка:
Warning: mssql_query() [function.mssql-query]: message: Line 2: Incorrect syntax near ','. (severity 15) in C:\xampp\htdocs\Pages\EditCharacter.php on line 19
Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\Pages\EditCharacter.php on line 19
Warning: mssql_fetch_row(): supplied argument is not a valid MS SQL-result resource in C:\xampp\htdocs\Pages\EditCharacter.php on line 21
Я знаю, что проблема заключается в 'LIMIT' в моем запросе SQL.
Как должен быть «ВЫБРАТЬ»?
SQL Server [поддерживает TOP] (http://technet.microsoft.com/en-us/library/ms189463.aspx), не LIMIT –
Какая версия SQL Server? С 2012 года вы можете использовать OFFSET ... FETCH, с предыдущими версиями paging намного сложнее (с использованием CTE и ROW_NUMBER(), или, возможно, TOP, когда вы находитесь на первых нескольких страницах). SQL Server не поддерживает LIMIT (и я рад, что это не так - это не совсем стандарт). –
Возможный дубликат [Смещение строки в SQL Server] (http://stackoverflow.com/questions/187998/row-offset-in-sql-server) –