num_rows
. का उपयोग करने का कोई कारण नहीं है , जो न केवल भ्रमित करने वाला, दुरुपयोग करने में आसान है, बल्कि दुरुपयोग होने पर प्रदर्शन संबंधी समस्याएं भी पैदा कर सकता है।
बस COUNT(1)
लायें और फिर अपने SQL परिणाम में पहली पंक्ति से एक कॉलम प्राप्त करें।
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new mysqli($host, $username, $password, $database);
$conn->set_charset('utf8mb4');
$stmt = $conn->prepare("SELECT COUNT(1) FROM users WHERE username = ?");
$stmt->bind_param("s", $_POST['username']);
$stmt->execute();
$exists = $stmt->get_result()->fetch_row()[0];
if($exists) {
echo "valid";
} else {
echo "invalid";
}
यदि आप किसी अजीब कारण से num_rows
. से चिपके रहना चाहते हैं आपको या तो store_result()
. पर कॉल करना होगा कथन पर और फिर num_rows
. प्राप्त करें कथन से या कॉल करें get_result()
और num_rows
. का मान पढ़ें लौटाए गए परिणाम सेट पर।