Php 使用mysql存储过程创建分页
我正在尝试使用存储过程创建分页 当我尝试将1作为参数传递时,它会得到记录0到14。 当我将2作为参数传递时,它给出0-30, 当我通过2级考试时,我想要15-30分Php 使用mysql存储过程创建分页,php,mysql,stored-procedures,pagination,Php,Mysql,Stored Procedures,Pagination,我正在尝试使用存储过程创建分页 当我尝试将1作为参数传递时,它会得到记录0到14。 当我将2作为参数传递时,它给出0-30, 当我通过2级考试时,我想要15-30分 create PROCEDURE abc(pageno INT) BEGIN DECLARE page_no int; DECLARE rstarts int; DECLARE rends int; DECLARE userPage int; set @userPage = pageno; PREPARE STMT FRO
create PROCEDURE abc(pageno INT)
BEGIN
DECLARE page_no int;
DECLARE rstarts int;
DECLARE rends int;
DECLARE userPage int;
set @userPage = pageno;
PREPARE STMT FROM
" SELECT * FROM primaryinfo LIMIT ?,? ";
SET @START =(@userPage - 1) * 15;
SET @LIMIT = @userPage * 15;
EXECUTE STMT USING @START, @LIMIT;
DEALLOCATE PREPARE STMT;
END
或者是否有其他有效的解决方案。。
提前感谢您无需声明的分页:
create PROCEDURE test(
IN first_rec integer,
IN rec_count integer
)
BEGIN
-- return --
SET @rownum=0;
SELECT * FROM (
SELECT
user.*, @rownum:=@rownum+1 AS rn FROM user
) t WHERE rn>=first_rec and rn<first_rec+rec_count;
END;;
试着调试@start,看看当你传递2HPMyAdmin时它有什么功能可以调试它…:-通过调试我的意思是看它有什么我试着用一些工具调试。。。开始保持正确的值15,限制保持30。。。但返回的结果仍然是30行……我猜它不支持限制10,20。它只是把它作为极限0,20.我也用硬编码的方式试过了。。