分页存储过程
DROP PROCEDURE `pr_pager`//
CREATE DEFINER=`root`@`localhost` PROCEDURE `pr_pager`( IN p_table_name VARCHAR(1024),
IN p_fields VARCHAR(1024),
IN p_page_size INT,
IN p_page_now INT,
IN p_order_string VARCHAR(128),
IN p_where_string VARCHAR(1024),
OUT p_out_rows INT
)
COMMENT '分页存储过程'
BEGIN
DECLARE m_begin_row INT DEFAULT 0;
DECLARE m_limit_string CHAR(64);
SET m_begin_row = (p_page_now - 1) * p_page_size;
SET m_limit_string = CONCAT(' LIMIT ', m_begin_row, ', ', p_page_size);
SET @COUNT_STRING = CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ', p_table_name, ' ', p_where_string);
SET @MAIN_STRING = CONCAT('SELECT ', p_fields, ' FROM ', p_table_name, ' ', p_where_string, ' ', p_order_string, m_limit_string);
PREPARE count_stmt FROM @COUNT_STRING;
EXECUTE count_stmt;
DEALLOCATE PREPARE count_stmt;
SET p_out_rows = @ROWS_TOTAL; PREPARE main_stmt FROM @MAIN_STRING;
EXECUTE main_stmt;
DEALLOCATE PREPARE main_stmt;
ENDphp 调用分页存储过程
$Rs_Sql_Change_Monitor=mysql_query("call pr_pager('change_monitor','Id,Date,Schedule,Type,Description,Manage1,DemandSide',10,1,'','',@p_out_rows)");
while($rows=mysql_fetch_array($Rs_Sql_Change_Monitor)){
echo $rows[Schedule];
}
现怎么取到 p_out_rows 输出参数 php应该怎么写请高手指点
DROP PROCEDURE `pr_pager`//
CREATE DEFINER=`root`@`localhost` PROCEDURE `pr_pager`( IN p_table_name VARCHAR(1024),
IN p_fields VARCHAR(1024),
IN p_page_size INT,
IN p_page_now INT,
IN p_order_string VARCHAR(128),
IN p_where_string VARCHAR(1024),
OUT p_out_rows INT
)
COMMENT '分页存储过程'
BEGIN
DECLARE m_begin_row INT DEFAULT 0;
DECLARE m_limit_string CHAR(64);
SET m_begin_row = (p_page_now - 1) * p_page_size;
SET m_limit_string = CONCAT(' LIMIT ', m_begin_row, ', ', p_page_size);
SET @COUNT_STRING = CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ', p_table_name, ' ', p_where_string);
SET @MAIN_STRING = CONCAT('SELECT ', p_fields, ' FROM ', p_table_name, ' ', p_where_string, ' ', p_order_string, m_limit_string);
PREPARE count_stmt FROM @COUNT_STRING;
EXECUTE count_stmt;
DEALLOCATE PREPARE count_stmt;
SET p_out_rows = @ROWS_TOTAL; PREPARE main_stmt FROM @MAIN_STRING;
EXECUTE main_stmt;
DEALLOCATE PREPARE main_stmt;
ENDphp 调用分页存储过程
$Rs_Sql_Change_Monitor=mysql_query("call pr_pager('change_monitor','Id,Date,Schedule,Type,Description,Manage1,DemandSide',10,1,'','',@p_out_rows)");
while($rows=mysql_fetch_array($Rs_Sql_Change_Monitor)){
echo $rows[Schedule];
}
现怎么取到 p_out_rows 输出参数 php应该怎么写请高手指点
解决方案 »
- 有谁会苹果 mac os x 的系统的,懂的人进
- 谁有好的php防SQL注入通用代码,谢谢
- 来一个好玩的程序问题!
- 怎么判断删除是否成功?
- php默认是使用现有的connect,还有必要创建单例连接吗
- PHP+MYSQL乱码问题
- mysql数据调用问题
- PHP如何上传图片,如何将一张图片的宽和高进行裁剪?
- 目前有个需求,用户需要连续6个月,每月订单数量大于或等同于60单以上,用户的身份会升级,php mysql 应该怎样实现啊?
- curl请求PHP接口post参数长度超过16383$_POST接收为空
- Linux下怎么升级到php5.2版本,现在系统中默认的是php5.1.6版本
- echo eregi_replace('[\[\]]','',"[123]1234567");这个怎么不行
$Rs_Sql_Change_Monitor=mysql_query("call pr_pager('change_monitor','Id,Date,Schedule,Type,Description,Manage1,DemandSide',10,1,'','',@p_out_rows)");
while($rows=mysql_fetch_array($Rs_Sql_Change_Monitor)){
echo $rows[Schedule];
}
$query=mysql_query("select @p_out_rows");
$v=mysql_fetch_array($query);