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

जांचें कि क्या किसी सरणी में सभी मान डेटाबेस कॉलम में मौजूद हैं

WHERE IN . के साथ स्टेटमेंट बनाना ज्यादा कारगर होगा मेल खाने वाले मेल प्राप्त करने के लिए, और फिर परिणामी सरणियों की तुलना करें। आप array_diff() का उपयोग कर सकते हैं सरणियों का अंतर पाने के लिए।

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect($servername, $username, $password, $db);

echo "Connected successfully\n";

$tags = preg_split("/\,/", $_POST['tags']);
$invalidEmails = array();
$count = 0;

// modify your array how you want it
foreach ($tags as $i => $tag) {
    $trim_brackets = trim($tag, '[]');
    $trim_quotes = trim($trim_brackets, '"');
    $tags[$i] = $trim_quotes;
}

// build placeholders for WHERE IN
$in = str_repeat('?,', count($tags) - 1) . '?';
// prepare query
$stmt = $conn->prepare("SELECT mail FROM dej_colleagues WHERE mail IN ($in)");
// bind an array of values. First params is a type list.
$stmt->bind_param(str_repeat('s', count($tags)), ...$tags);
$stmt->execute();
$results = $stmt->get_result();
// fetch the matching mails into an array
$mails = [];
foreach ($results as $row) {
    $mails[] = $row['mail'];
}

// get the difference between the two arrays
$invalidEmails = array_diff($tags, $mails);

if (count($tags) === count($mails)) {
    echo "good";
}

var_dump($invalidEmails);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उन पंक्तियों का चयन करना जहाँ PHP PDO तैयार कथनों और MySQL का उपयोग करके कोई फ़ील्ड रिक्त है

  2. एक असंगत MySQL दास का पुनर्निर्माण कैसे करें?

  3. ऐप इंजन से क्लाउड SQL MySQL डेटाबेस से कैसे कनेक्ट करें?

  4. बहुत सारे संसाधनों का उपभोग करने वाला सरल लेकिन भारी अनुप्रयोग। ऑप्टिमाइज़ कैसे करें?

  5. प्रमाणीकरण विधि 'caching_sha2_password' किसी भी उपलब्ध प्लगइन द्वारा समर्थित नहीं है