Im वर्तमान में तैयार किए गए कथन के साथ SQL_CALC_FOUND_ROWS को कार्यान्वित करने के तरीके पर अपने सिर को खरोंच कर रहा हूं।MySQLi/तैयार स्टेटमेंट्स और 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 वास्तविक मान कैसे प्राप्त करें इस बारे में थोड़ा सा स्टंप हूं? मैं की तरह कुछ में जोड़ने सोचा था:
$stmt->store_result();
$count=$stmt->num_rows;
लेकिन वह केवल सीमा के आधार पर एक नंबर प्रदान करता है, ऊपर के उदाहरण अपने 3 के बजाय पूर्ण 6 है कि यह होना चाहिए में तो।
आशा है कि यह समझ में आता है।
ठीक है, मुझे पता चला है कि मुझे SELECT FOUND_ROWS() का उपयोग करने की आवश्यकता है, लेकिन मुझे अभी भी यह सुनिश्चित नहीं है कि इसे कैसे कार्यान्वित किया जाए? क्या मुझे इसे पूरी तरह से नई क्वेरी की तरह चलाने की ज़रूरत है? – cosmicsafari