Kein Unterschied zwischen Groß- u. Kleinschreibung warum?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kein Unterschied zwischen Groß- u. Kleinschreibung warum?

    Hallo Leute habe mal wieder eine Frage.

    Ich habe eine Mysql Datenbank auf Win-basis:

    CREATE TABLE `login` (
    `id` bigint(20) NOT NULL auto_increment,
    `kundennr` varchar(100) collate latin1_general_ci NOT NULL default '',
    `pw` varchar(100) collate latin1_general_ci NOT NULL default '',
    PRIMARY KEY (`kunden_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=0 ;

    In der Tabelle kundennr will ich eigen Codenummern vergeben z.B. 6KA57H9GD8 diese spiele ich it einer csv-Datei über phpMyAdmin ein.

    PHP-Code:
    // Abfrag existiert kundennr in der Datenbank
                
    $sql "SELECT * FROM login WHERE kundennr LIMIT 1";
                
    $ergebnis=mysql_query($sql$DatabasePointer);
                while(
    $row=mysql_fetch_object($ergebnis))
                {
                    
    $kundennr=$row->kundennr;
                }
                
    mysql_free_result($ergebnis); //belegter speicher wird wieder freigegeben

    if($kundennr!=$Eingabenummer)
                {
                     echo 
    "Die Eingabe war falsch";
                     exit;
                }else{
                     echo 
    "Die eingabe war richtig";
                     exit;
                } 
    Meine Frage ist nun ob wohl die kundennummern in der DB so 6KA57H9GD8 drinn stehen, unterscheidet er nicht wenn ich den Code in das Formular-Textfeld eingegeben habe und ich es mit der if-Anweisung vergleichen lasse, zwischen Groß- u. Kleinschreibung. Also Wenn ich jetzt z.B. 6kA57H9gD8 oder alle buchstaben klein eingebe macht er keinen unterschied zu 6KA57H9GD8 was in der DB eingetragen ist.

    Warum ist das so und wie kann man das unterbinden das er auch korrekt verkleicht.

    Ich danke jetzt schon für eure Hilfe.

  • #2
    MySQL macht das eben so. Du kannst aber mit SELECT BINARY arbeiten, so wird explizit zwischen Groß- und Kleinschriebung unterschieden.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Re: Kein Unterschied zwischen Groß- u. Kleinschreibung warum?

      Original geschrieben von eno24

      // Abfrag existiert kundennr in der Datenbank
      $sql = "SELECT * FROM login WHERE kundennr LIMIT 1";
      Vor allem solltest du der Datenbank mal sagen, womit sie den Wert in der Spalte kundennr vergleichen soll.
      Momentan bekommst du einfach nur einen x-beliebigen Datensatz, bei dem das Feld kundennr nicht leer ist
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Re: Kein Unterschied zwischen Groß- u. Kleinschreibung warum?

        Du könntest auch gleich einen der binären Spaltentypen nehmen.

        Davon abgesehen finde ich es aber höchst ungeschickt. eine Kundennummer case sensitive zu machen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X