現在、Prepared Statementを使用してSQL_CALC_FOUND_ROWSを実装する方法については頭が痛いです。MySQLi/Prepared StatementsとSQL_CALC_FOUND_ROWS
私はページングクラスを作成していますが、明らかにLIMITをクエリに追加するだけでなく、合計行数を調べることもできます。
問題のクラスの例です。
$query="select SQL_CALC_FOUND_ROWS id,title,location,salary,employer from jobs where region=38 limit 0,3";
if($stmt = $connection->prepare($query)) {
$stmt->execute()or die($connection->error); //execute query
$stmt->bind_result($id,$title,$location,$salary,$employer,$image);
while($stmt->fetch()){
$jobs[$x]['id']=$id;
$jobs[$x]['title']=$title;
$jobs[$x]['location']=$location;
$jobs[$x]['salary']=$salary;
$jobs[$x]['employer']=$employer;
$jobs[$x]['image']=$image;
$x++;
}
$stmt->close();//close statement
}
私はSQL_CALC_FOUND_ROWS実際の値を取得する方法へと困惑ビットね?それがなければならないこと上記の例では、その3ではなく、完全な6を
$stmt->store_result();
$count=$stmt->num_rows;
しかし、唯一のLIMITに基づいて番号を与えることなので、私のようなものに加えること考えていました。
希望は意味があります。
これで、SELECT FOUND_ROWS()を使用する必要があることが判明しましたが、これを実装する方法がまだわかりません。私は完全に新しいクエリのようにそれを実行する必要がありますか? – cosmicsafari