簡體   English   中英

使用准備好的語句從存儲過程中獲取found_records的值

[英]getting the value of found_records from stored procedure with prepared statement

這是存儲過程

DELIMITER $$
BEGIN

SET @sql = concat(@sql ,'SELECT SQL_CALC_FOUND_ROWS ');
SET @sql = concat(@sql ,';');

prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;

SELECT found_rows();
END

調用存儲過程的php。

$mysqli = new mysqli($databaseHostname1, $databaseUsername, $databasePassword);
if(!$mysqli) die('Could not connect: ' . mysql_error());

mysqli_select_db($mysqli, '$db');
if(!$mysqli) die('Could not connect to DB: ' . mysql_error()); 

if ($keywordParam != ''){
$mysqli->query("SET @p_keywordParam = " . "'" . $mysqli->real_escape_string($keywordParam) . "'");
}else{
$mysqli->query("SET @p_keywordParam = NULL");
}

$mysqli->query("SET @p_pageOffset = $pageOffset");

$result = $mysqli->query("CALL getInventory2(@p_keywordParam,@p_pageOffset)");
if(!$result) die("CALL failed: (" . $mysqli->errno . ") " . $mysqli->error);

然后我輸出數據

NUMBER OF RESULTS: <? echo <<<<<<< FOUND ROWS HERE >>>>>>>>>   ?>
PAGE 1 of ?


while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
<? echo $row['FIRST_NAME']; ?>
<? echo $row['LAST NAME']; ?>

我需要的是while循環之前存儲過程中的found_rows計數,以便我可以設置分頁。

在運行查詢之后,運行以下命令:

SELECT FOUND_ROWS()AS int_count

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM