Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SQL Server替代MYSQL的上限和极限_Php_Sql_Limit - Fatal编程技术网

PHP SQL Server替代MYSQL的上限和极限

PHP SQL Server替代MYSQL的上限和极限,php,sql,limit,Php,Sql,Limit,我试图弄清楚如何将我在PHPMYSQL中创建的代码翻译成PHPSqlsrv 基本上,我在MySQL中使用LIMIT来限制分页。然而,SQL Server不支持这一点,我真的很难用3个月的时间来解决这个问题 下面是我想在SQLSRV上翻译的MySQL代码: $start=""; $per_page = 1; $start = $_GET['start']; $max_pages = ($foundnum / $per_page); if(!$start) $start=0; $getquery

我试图弄清楚如何将我在PHPMYSQL中创建的代码翻译成PHPSqlsrv

基本上,我在MySQL中使用LIMIT来限制分页。然而,SQL Server不支持这一点,我真的很难用3个月的时间来解决这个问题

下面是我想在SQLSRV上翻译的MySQL代码:

$start="";
$per_page = 1;
$start = $_GET['start'];
$max_pages = ($foundnum / $per_page);
if(!$start)
$start=0; 
$getquery = mysql_query("SELECT * FROM knowledgebase WHERE $construct LIMIT $start, $per_page");
下面的代码是我目前在SQLSRV中运行时遇到的问题:

$start="";
$per_page = 1;
$start = $_GET['start'];
$max_pages = ($foundnum / $per_page);
if(!$start)
$start=0; 
$construct1 ="SELECT * FROM ENSEMBLE WHERE $construct";
$run1=sqlsrv_query($con,$construct1, array(), array('scrollable' => 'keyset'));
我可以很容易地在代码行$construct1=“SELECT*fromsemblehere$construct”中添加限制;但我没有这样做,因为无论如何这是不可能的

任何人都可以帮我翻译或重写它吗?
TIA.

TOP相当于sql server中的限制:


正如下文所指出的,TOP不是等效的realy。事实上,您需要使用OFFSET和FETCH来精确匹配限制行为:

TOP相当于sql server中的限制:


正如下文所指出的,TOP不是等效的realy。事实上,您需要使用OFFSET和FETCH来精确匹配限制行为:

TOP相当于sql server中的限制:


正如下文所指出的,TOP不是等效的realy。事实上,您需要使用OFFSET和FETCH来精确匹配限制行为:

TOP相当于sql server中的限制:


正如下文所指出的,TOP不是等效的realy。事实上,您需要使用OFFSET和FETCH来精确匹配限制行为:

看看这些帖子。模拟MySQL的限制有点棘手

来自SQL server 2012的


它应该相当于限制10,5。

看看这些帖子。模拟MySQL的限制有点棘手

来自SQL server 2012的


它应该相当于限制10,5。

看看这些帖子。模拟MySQL的限制有点棘手

来自SQL server 2012的


它应该相当于限制10,5。

看看这些帖子。模拟MySQL的限制有点棘手

来自SQL server 2012的



它应该相当于限制10,5。

如果您想寻求进一步的帮助,请不要编辑我的答案,而是在下面添加一个选项,或者问另一个问题。在这种情况下,请问另一个问题,因为这是另一个问题。TOP不等同于MySQL限制,因为它不支持偏移量。您不能简单地仅使用TOP子句进行分页。如果您想寻求进一步的帮助,请不要编辑我的答案,而是在其下方添加一个选项,或询问其他问题。在这种情况下,请问另一个问题,因为这是另一个问题。TOP不等同于MySQL限制,因为它不支持偏移量。您不能简单地仅使用TOP子句进行分页。如果您想寻求进一步的帮助,请不要编辑我的答案,而是在其下方添加一个选项,或询问其他问题。在这种情况下,请问另一个问题,因为这是另一个问题。TOP不等同于MySQL限制,因为它不支持偏移量。您不能简单地仅使用TOP子句进行分页。如果您想寻求进一步的帮助,请不要编辑我的答案,而是在其下方添加一个选项,或询问其他问题。在这种情况下,请问另一个问题,因为这是另一个问题。TOP不等同于MySQL限制,因为它不支持偏移量。您不能简单地只使用TOP子句进行分页。谢谢!成功了。但是,当我尝试应用变量对网页进行分页时,似乎出现了一个问题,就像我在mysql中所做的那样。我不知道如何才能实现我使用的相同目标:$getquery=mysql\u query(“从知识库中选择*,其中$construct LIMIT$start,$per\u page”);。我在您给melike的信息中应用了它:$construct1=“SELECT*FROM(SELECT*,ROW_NUMBER()OVER(ORDER BY ID)as ROW FROM emblem)a WHERE ROW>$start and ROW如果我很好地理解您的代码,它看起来就像
SELECT*FROM(SELECT*,ROW_NUMBER()OVER(ORDER BY ID)as ROW FROM emblem)a WHERE row>$start和row非常感谢您帮助我解决了这个问题,+提醒我sqlsrv中的行是从1开始的。非常感谢。我很高兴帮助您。您可以接受我的答案作为您问题的解决方案。谢谢!它起了作用。但是,当我尝试应用变量对网页进行分页时,似乎出现了问题,就像我所做的一样mysql中的id。我不知道如何才能实现我使用的相同目标:$getquery=mysql\u query(“从知识库中选择*,其中$construct LIMIT$start,$per\u page”);我将其应用于您提供给我的信息中,如下所示:$construct1=“选择*(选择*,行号()超过(按id排序)作为集合中的行)WHERE row>$start和row如果我能很好地理解您的代码,它看起来像是
SELECT*FROM(SELECT*,row_NUMBER()OVER(ORDER BY ID)as row FROM emblem)WHERE row>$start和row非常感谢您帮助我解决了这个问题,+提醒我sqlsrv中的行是从1开始的。非常感谢。我很高兴帮助你。你可以接受我的回答作为你问题的解决方案。谢谢!成功了。但是,当我尝试应用变量对网页进行分页时,似乎出现了一个问题,就像我在mysql中所做的那样。我不知道如何才能实现我使用的相同目标:$getquery=mysql\u query(“从知识库中选择*,其中$construct LIMIT$start,$per\u page”);。我在您给melike的信息中应用了它:$construct1=“SELECT*FROM(SELECT*,ROW_NUMBER()OVER(ORDER BY ID)as ROW FROM emblem)a WHERE ROW>$start and ROW如果我很好地理解您的代码,它看起来就像
SELECT*FROM(SELECT*,ROW_NUMBER()OVER(ORDER BY ID)as ROW FROM emblem)a WHERE row>$start和row非常感谢您帮助我解决了这个问题,+提醒我sqlsrv中的行以1.a开头
SELECT * FROM Table ORDER BY FirstName OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;