Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
mysql pdo获取行的范围_Mysql_Database - Fatal编程技术网

mysql pdo获取行的范围

mysql pdo获取行的范围,mysql,database,Mysql,Database,我有一个大约有100行的表,我希望每次都能得到数字和数字之间的行,就像这样 select * from question limit (i-1)*5 , i*5-1 如果'i=1',我想得到'01 2 3 4'行 如果'i=2',我想得到'56789'行 如果'i=3',我想得到'1011121314行` 我的最后一个值可能只取3或4行,而不是5行 我认为解决办法是这样的 select * from question limit (i-1)*5 , i*5-1 但不起作用,因为我不知道如何在

我有一个大约有100行的表,我希望每次都能得到数字和数字之间的行,就像这样

select * from question limit (i-1)*5 , i*5-1
如果'i=1',我想得到'01 2 3 4'行

如果'i=2',我想得到'56789'行

如果'i=3',我想得到'1011121314行`

我的最后一个值可能只取3或4行,而不是5行 我认为解决办法是这样的

select * from question limit (i-1)*5 , i*5-1

但不起作用,因为我不知道如何在查询中使用变量,当我尝试i=1时,它不起作用,我得到一个语法错误限制的第一个参数是从零开始的行索引。第二个是行数。因此,如果您一直在寻找五行:

SELECT * FROM question LIMIT (i-1)*5 , 5

(无论您使用何种语言构建查询,都必须计算
(i-1)*5
,并将实际数字传递给MySQL)

它可以工作,感谢您的帮助和描述,我将接受答案,但当我在PDO中这样使用它时,我得到一个错误
$query=“SELECT*FROM question LIMIT:start,5”$sth=$this->db->prepare($query)$sth->execute(数组(':start'=>$start));归还某物奇怪,我在某个地方读到,您可以传递值来限制准备好的语句。所以我想您必须直接注入查询体。