PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP4 und MySQL auf SuSE Linux 7.0: Queries werden falsch "übertragen"



PhobosUT
23.08.02, 11:01
Ich habe es nun endlich geschafft, dass meine Webseite auf Linux mit PHP4 und MySQL läuft. Das angesprochene Problem, dass die Datenbank nicht ausgewählt werden konnte war ein Problem der Zugriffsrechte, dass ich aber mittlerweile behoben habe.
Nun stehe ich aber vor folgendem Problem. Queries wie


SELECT * FROM gb

stellen aus PHP heraus kein Problem dar. Aber sobald eine Query so aussieht:


SELECT DATE_FORMAT(Datum,'%d.%m.%Y') AS DATUM FROM gb

gibt's ein Systax Error, obwohl das Script genau so im Internet läuft. Als ich die gleiche Query in phpmyadmin eingegeben habe kam ebenfalls ein Syntax Error und zwar in der Nähe von %d.%m.%Y. Ein genauer Blick auf die wirklich ausgeführte Query zeigte, dass auf einmal vor den beiden ' ein Backslash steht. PHP hat also aus irgendeinem Grund versucht das Zeichen zu "entwerten" obwohl es da ja nicht "entwertet" gebraucht wird ist.
Muss ich da irgendwas in der php.ini umstellen, oder woran liegt das? Vorher und im Internet funktioniert/e es ja so.

PhobosUT
23.08.02, 12:30
Es sind wohl doch 2 verschiedene Probleme.
Aus meinem eigenen Script heraus, funktionierte die Query nicht weil immer ein Syntax Fehler in den Nähe des USING bzw. ON von INNER JOIN auftrat. Die gleiche Query funktioniert aus meinem Script heraus, wenn ich statt INNER JOIN nur mit WHERE arbeite, was natürlich nicht so elegant ist.
In phpmyadmin meckerte er weil phpmyadmin den Backslash davor gesetzt hat. Und das mit dem DATE_FORMAT war noch vor dem INNER JOIN und USING.

Kann es also sein, dass die mySQL Version, die bei SuSE Linux 7.0 dabei ist, (mySQL Vers 3.22.32-87) noch kein INNER JOIN kennt?
Und wie behebe ich das Problem, dass phpmyadmin vor die ' ein Backslash setzt?