[gelöst]SQL Query wird case sensitiv ohne das ich es will

am 13.04.2010 - 10:12 Uhr in
Hi,
ich will das folgende Abfrage Case Insensitive ist, wie mach ich das?
Laut MYSQL ist der Like Befehl normalerweise automatisch Case Insensitive, wenn ich ihn in drupal asführe aber nicht,
in PHPMYADMIN schon.
Wie bringe ich drupal dazu ?
$sql = " SELECT Count(*) FROM drupal_access WHERE status = 1 AND mask LIKE '%array[1]'";
LG
dave
- Anmelden oder Registrieren um Kommentare zu schreiben
Also ich habe gerade eben
am 13.04.2010 - 12:22 Uhr
Also ich habe gerade eben selbst eine Abfrage mit LIKE probiert:
<?php
$ergebnis = db_result(db_query("SELECT Count(*) as 'daten' FROM users WHERE status = 0 AND language LIKE 'de';"));
?>
Und ganz egal, wie ich das "de" hinten dran schreibe, ob groß oder klein, ich bekomme immer das richtige Ergebnis geliefert. Ergo ist LIKE Case Insensitive. Vielleicht machst du etwas anderes falsch?
Habs gefunden
am 13.04.2010 - 12:31 Uhr
Es lag daran weil ich eine Variable direkt in den sql befehl geschrieben habe,
<?php
$array = explode("@", $account->mail);
$sql = " SELECT Count(*) FROM drupal_access WHERE status = 1 AND mask LIKE '%%%s' ";
$t = db_result(db_query($sql, $array[1]));
?>
hast du in der Datenbank auch Werte wo de Grossgeschireben wird?
lg dave
Keine Ahnung, ob ich auch
am 13.04.2010 - 12:41 Uhr
Keine Ahnung, ob ich auch Werte mit "De" oder "DE" in der DB habe, aber in der Users-Tabelle nicht.
Aber warum benutzt du in der Abfrage '%%%s' ? Das '%s' steht doch schon für einen ganzen String, wozu noch die zwei %-Zeichen davor?
Place Holder MEaning ein bsichen runter scrollen
am 13.04.2010 - 13:03 Uhr
http://api.drupal.org/api/function/db_query/6
lg dave