php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.12.2011, 19:28  
Neuer Benutzer
 
Registriert seit: 24.08.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Lioz befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Seltsames Problem mit Mysql-Abfrage

Hallo zusammen,

ich sitze an einem Problem welches mir wirklich den Schlaf raubt und ich weiß einfach nicht weiter. Ich hoffe ihr könnt mir helfen.

Ich setze über ein Array, welches Variablen über die URL entgegen nimmt eine mysql-Abfrage zusammen. Das ganze kann dann z.B. so aussehen:
PHP-Code:
$abfrage "SELECT * FROM `eintraege` WHERE `genre`='klassik' OR `genre`='rock' AND `datum` BETWEEN '1980-01-01' AND '2011-12-30'"
Das funktioniert wunderbar und klappt auch mit zig anderen Variablen und Kombinationen.

Bis auf eine, steht in der abfrage:
PHP-Code:
$abfrage "SELECT * FROM `eintraege` WHERE `genre`='klassik' OR `genre`='rock' OR `genre`='soul' AND `datum` BETWEEN '1980-01-01' AND '2011-12-30'"
wird der Zeitraum also
PHP-Code:
BETWEEN '1980-01-01' AND '2011-12-30' 
einfach "vergessen". Sobald die Variable 'soul' mit in der Abfrage steht, tritt dieser fehler auf. Ich hatte das vorher schon einmal, bin dann auf die Idee gekommen das Array vorher zu sortieren, das hat dann auch geklappt. Aber jetzt steh ich eben wieder vor dem Problem. Das Array mit den "Genres" wird sortiert und der Zeitraum wird an die Abfrage angehängt.

In der oben genannten Abfrage tritt kein Fehler auf, es wird einfach nur der Zeitraum ignoriert, sprich es werden auch Einträge vor dem 01.01.1980 und nach dem 30.12.2011 angezeigt. Die Einschränkungen durch die Genres werden aber akzeptiert.

Super verrückt wird es aber jetzt, würde ich die Abfrage "händisch" folgendermaßen umstellen, würde es klappen
PHP-Code:
$abfrage "SELECT * FROM `eintraege` WHERE `genre`='soul' OR `genre`='klassik' OR `genre`='rock' AND `datum` BETWEEN '1980-01-01' AND '2011-12-30'"
Kann ich aber nicht machen, da ich das Array vorher alphabetisch sortiere.
Hab auch andere Sortierreihenfolgen ausprobiert, leider ohne Erfolg.

Hat jemand eine Idee woran das liegen könnte, bin grad ziemlich ratlos?

Gruß
Lioz
Lioz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.12.2011, 19:49  
Erfahrener Benutzer
 
Benutzerbild von Aceh
 
Registriert seit: 01.03.2011
Beiträge: 120
PHP-Kenntnisse:
Anfänger
Aceh befindet sich auf einem aufstrebenden Ast
Aceh eine Nachricht über ICQ schicken
Standard

PHP-Code:
$abfrage "SELECT * FROM `eintraege` WHERE (`genre`='soul' OR `genre`='klassik' OR `genre`='rock') AND (`datum` BETWEEN '1980-01-01' AND '2011-12-30')"
Aceh ist offline   Mit Zitat antworten
Alt 30.12.2011, 19:49  
meikel
Gast
 
Beiträge: n/a
Standard

Guck Dir die Bindungen und Operatorenreihenfolge im Handbuch mal genauer an. Vermutlich fehlen ein paar Klammern.

EDIT: zu spät...
  Mit Zitat antworten
Alt 30.12.2011, 19:54  
Erfahrener Benutzer
 
Benutzerbild von Aceh
 
Registriert seit: 01.03.2011
Beiträge: 120
PHP-Kenntnisse:
Anfänger
Aceh befindet sich auf einem aufstrebenden Ast
Aceh eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Lioz Beitrag anzeigen
einfach "vergessen". Sobald die Variable 'soul' mit in der Abfrage steht, tritt dieser fehler auf.

wie variable?

$soul
Aceh ist offline   Mit Zitat antworten
Alt 30.12.2011, 20:02  
Neuer Benutzer
 
Registriert seit: 24.08.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Lioz befindet sich auf einem aufstrebenden Ast
Standard

Ihr seid einfach der absolute Hammer!!!
Vielen, vielen Dank für die superschnelle Hilfe, bin überglücklich!

Bin eben doch noch ein Anfänger, werde mir das Kapitel nochmal genauer anschauen.

Allen einen guten Rutsch!
Lioz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySQL Timestamp Abfrage Problem imamk Datenbanken 18 11.08.2011 23:28
[Erledigt] MySQL - Abfrage bleibt Problem! yellow PHP Einsteiger 1 01.07.2011 13:47
MySql Umlaute Problem zusätzliches Zeichen à claxan PHP Einsteiger 1 10.05.2011 18:28
[Erledigt] Problem mit MYSQL Abfrage in einer While Schleife mirko911 PHP Einsteiger 1 11.04.2011 11:54
Problem mit Mysql abfrage wolfsmichel PHP Einsteiger 4 21.12.2010 22:35
MySQL Abfrage Problem mit Where parti02 Datenbanken 14 23.10.2008 14:52
mysql Abfrage Problem mit dem Join test022 Datenbanken 5 28.04.2007 08:07
Abfrage bei mySQL 4 ApfeL Datenbanken 5 24.03.2006 18:53
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] MYSQL Problem Datenbanken 4 09.02.2006 15:14
komplizierte mysql abfrage php_frage PHP Tipps 2007 5 28.12.2005 17:55
MySQL Abfrage Problem. web2 PHP Tipps 2005-2 7 25.07.2005 11:07
[Erledigt] MySQL Abfrage fieses Problem Datenbanken 5 21.07.2005 14:19
Problem mit Mysql Abfrage PHP Tipps 2005-2 0 11.07.2005 14:21
Problem mit mysql abfrage maximus PHP Tipps 2005 4 16.05.2005 19:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum