Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
MySQL Abfrage beachtet Groß- und Kleinschreibung [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
MySQL Abfrage beachtet Groß- und Kleinschreibung


 
Alienz
13-08-2006, 18:33 
 
Hab folgende SQL Abfrage geschrieben:
SELECT * FROM DVD WHERE Name LIKE '%an%' ORDER BY ASC

Mein Problem ist, dass die Abfrage zwischen Groß- und Kleinbuchstaben unterscheidet, obwohl sie das gar nicht dürfte (so weit ich weiss unterscheidet MySQL kein Groß- und Kleinschreibung)

Gebe ich folgenden Abfrage ein:
SELECT * FROM DVD WHERE Name LIKE '%An%' ORDER BY ASC

wird der Eintrag korrekt gefunden. Kennt einer von euch den Grund dafür? Gibt es dafür in phpMyAdmin eine Eintellungsmöglichkeit?

 
TobiaZ
13-08-2006, 18:43 
 
was die inhalte angeht ist mysql schon sensitiv. stell dir nur einen userlogin vor...

such mal nach ner stringtolower funktion.

 
penizillin
13-08-2006, 18:48 
 
http://mysql.com/doc/refman/4.1/en/case-sensitivity.html

 
Alienz
13-08-2006, 18:50 
 
danke für die Antwort.

strtolower bringt mir in dem Fall nichts. Ich habe zum Beispiel eine DVD, die nennt sich Angel. Suche in nun nach "an" finden die Datenbank bei mir keinen Eintrag. Suche ich nach "An" wird der Eintrag gefunden. Umgekehrt: Such ich zum Beispiel nach "Gel", findet der wieder nix. Such ich aber nach "gel", wird der Eintrag wieder gefunden.

Auf diversen Seiten im Internet ist zu lesen, dass der Befehl LIKE nicht case sensitive ist (dafür gibt es ja den Befehl LIKE BINARY). Ich verstehe nicht was ich falsch mache...

 
TobiaZ
13-08-2006, 18:55 
 
sorry, meine aussage war nicht korrekt. like ist natürlich idr. nicht sensitive.

siehe auch penizillins link

 
Alienz
13-08-2006, 19:03 
 
Danke für die superschnelle Antwort. Such schon den ganzen Tag nach einer Lösung für das Problem. Habe jetzt für die Spalten in der Tabelle die Kollation "utf8_unicode_ci" gewäht und jetzt klappt es auch.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:14 Uhr.