分页存储过程
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应该怎么写请高手指点
$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);