आपके पास कुछ विकल्प हैं कि COUNT(*)
. का मान कैसे प्राप्त करें एसक्यूएल से। सबसे आसान तीन शायद ये हैं:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['COUNT(*)'];
echo $count;
या स्तंभ उपनाम का उपयोग करना:
$sql = "SELECT COUNT(*) as cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
echo $count;
या संख्यात्मक सरणी का उपयोग करना:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
echo $count;
यदि आप PHP 8.1 का उपयोग कर रहे हैं, तो आप इसे और भी सरल कर सकते हैं:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);
echo $count;
// or using OO style
echo $con->query("SELECT COUNT(*) FROM news")->fetch_column();
mysqli_num_rows
का इस्तेमाल न करें वेब पर कुछ स्थानों में सुझाए गए अनुसार डेटाबेस में रिकॉर्ड्स की गणना करने के लिए। इस फ़ंक्शन का बहुत कम उपयोग होता है, और रिकॉर्ड की गिनती निश्चित रूप से उनमें से एक नहीं है। mysqli_num_rows
का उपयोग करना आप MySQL को सभी को पुनः प्राप्त करने . के लिए कह रहे होंगे डेटाबेस से मिलान करने वाले रिकॉर्ड, जो बहुत संसाधन लेने वाले हो सकते हैं। MySQL को रिकॉर्ड गिनने का काम सौंपना और फिर मेरे उत्तर में दिखाए गए अनुसार PHP में लौटाया गया मान प्राप्त करना बेहतर है।
मैं ओओपी सीखने की भी सिफारिश करता हूं, जो आपके कोड को क्लीनर और पढ़ने में आसान बनाता है। ओओपी के साथ भी ऐसा ही किया जा सकता है:
$sql = "SELECT COUNT(*) FROM news";
$count = $con->query($sql)->fetch_row()[0];
echo $count;
यदि आपकी क्वेरी चर का उपयोग करती है, तो आप एक समान कार्य कर सकते हैं, लेकिन तैयार कथनों का उपयोग कर सकते हैं।
$sql = "SELECT COUNT(*) FROM news WHERE category=?";
$stmt = $con->prepare($sql);
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
echo $count;