mysql pdo获取行的范围
我有一个大约有100行的表,我希望每次都能得到数字和数字之间的行,就像这样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 但不起作用,因为我不知道如何在
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));归还某物代码>奇怪,我在某个地方读到,您可以传递值来限制准备好的语句。所以我想您必须直接注入查询体。