Hans23: case-insensitive MySQL-Daten vergleichen?

Hi!

Ich hab eine Datenbank in der email-Adressen gespeichert sind, und möchte jetzt eine eingegebene E-mail-Adresse mit den E-mail-Adressen in der DB vergleichen.
=>$result = mysql_query("SELECT * FROM ".DB_TABLE." WHERE email='".mysql_real_escape_string($_REQUEST['email'])."'");

Aber wie kann ich das ganze case-insensitive machen???

danke
Hans

  1. Hi Hans23!

    Aber wie kann ich das ganze case-insensitive machen???

    Indem du beide Werte in Klein- oder Großbuchstaben konvertierst.

    Die Funktion in PHP heißt strtolower() in MySQL gibt es die Funktion LOWER().

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. echo $begrüßung;

    Ich hab eine Datenbank in der email-Adressen gespeichert sind, und möchte jetzt eine eingegebene E-mail-Adresse mit den E-mail-Adressen in der DB vergleichen.
    =>$result = mysql_query("SELECT * FROM ".DB_TABLE." WHERE email='".mysql_real_escape_string($_REQUEST['email'])."'");
    Aber wie kann ich das ganze case-insensitive machen???

    Einfach machen, MySQL arbeitet im Allgemeinen CI. Wenn nicht, hast du bei der Auswahl der Feld-Kollation vermutlich eine der (wenigen) CS-Versionen erwischt.

    echo "$verabschiedung $name";

    1. Meine Abfrage:
      $result = mysql_query("SELECT * FROM ".DB_TABLE_USERS." WHERE email='".mysql_real_escape_string($email)."'");
      Das Feld ist case-insensitive!!
      =>latin1_swedish_ci

      1. sry, passt eh, hatte noch nen PHP-Vergleich drinnen :-/

        danke

  3. Hallo,

    Ich hab eine Datenbank in der email-Adressen gespeichert sind, und möchte jetzt eine eingegebene E-mail-Adresse mit den E-mail-Adressen in der DB vergleichen.
    =>$result = mysql_query("SELECT * FROM ".DB_TABLE." WHERE email='".mysql_real_escape_string($_REQUEST['email'])."'");

    Aber wie kann ich das ganze case-insensitive machen???

    normalerweise lautet die Frage umgekehrt :-)

    Folgende Statements zeigen Dir, wie MySQL Zeichenketten vergleicht (CHAR, VARCHAR)

    SELECT 'a' = 'A'
      -> 1

    SELECT BINARY 'a' = 'A'
      -> 0

    Freundliche Grüße

    Vinzenz