Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP/MySQLi क्वेरी के साथ अजाक्स कॉल गलत परिणाम लौटा रहा है

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 . का मान पढ़ें लौटाए गए परिणाम सेट पर।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाटेबल की विशिष्ट पंक्तियों को प्रदर्शित करने के लिए vb.net क्वेरी [मूल]

  2. मेरा MySQLi कनेक्शन इतना धीमा क्यों है?

  3. जावा + टॉमकैट, डेटाबेस कनेक्शन मर रहा है?

  4. कुल कॉलम के प्रतिशत की गणना करने के लिए MySQL क्वेरी

  5. खाली स्ट्रिंग पास होने पर डिफ़ॉल्ट मान सेट करें