2011-07-29 8 views
1

クエリを実行した後にレコードの総数を取得する必要があります。なぜそれがそうである..私はこのPHPでFOUND_ROWS()が失敗する

<?php 
include_once 'common.php'; 

ini_set("mysql.trace_mode", "Off"); 

$sql ="get_list(0, 40, 'Name', 'DESC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)"; 

$con = mysqli_connect("localhost", "root", ""); 

mysqli_select_db($con, "crash_table"); 

mysqli_query($con, $sql); 

$sql2= "SELECT FOUND_ROWS();"; 

$result = mysqli_query($con, $sql2); 

$count = mysqli_fetch_array($result); 

echo "Count=".$count[0]; 

?> 

ようにしようとしたが、カウントは常にコードget_list(は0)40がLIMITある手順があるのですか?

+0

。それを台無しにするSQLステートメントの最後に? –

+0

@Ted:No.;オプションですが、制限はありません – genesis

+0

これは問題ではありません。私はそれをchagedしました.. – lavaira

答えて

1

SELECT SQL_CALC_FOUND_ROWSストアドプロシージャの最後の文ですか? マニュアルは言うので:

(FOUND_ROWSを通して利用可能な行数)は、SELECT SQL_CALC_FOUND_ROWS文の次の文の過去利用できるようにすることを目的と 一時的なものではありません。

-1

mysql_num_rows()を使用してエントリ数を取得できます。 SQL_CALC_FOUND_ROWSを使用

0

例:

SELECT SQL_CALC_FOUND_ROWS [ FIELDS NAME ] FROM [ TABLE NAME ] WHERE ........ [ORDER BY] LIMIT [ X,Y ]; 

SELECT FOUND_ROWS(); 
関連する問題