MySQL 3.x Abfrage Syntax Problem

hallo

ich habe zunmächst ne frage ob ich mein aktuellen XMAPP mit MySQL 3 zusätzlich mit ausstatten kann. es gibt erstens noch webspace-anbieter die die 3er-version benutzen und zweitens soll ja mein skript möglichst kompartibel sein (also auch mit der 3er laufen).
geht das irgendwie?
oder gibt es nen syntax-checker wo ich sowas überprüfen kann? wäre super-praktisch

und nun zum eigentlichen problem:
ich hab ein php-skript für nen freund geschrieben, dass mit mysql-abfragen arbeitet.
jetzt hat der nur version 3 auf seinem webspace und das skript läuft nicht, weil höchstwarscheinlich ein problem mit der syntax besteht (hab ja selber nur version 5 zum testen und da funktionierts).
habe folgende abfragen (schaut mal bitte drüber ob ihr nen syntaxfehler entdeckt):

SELECT * FROM log WHERE ip=‚123.123.123.123‘ AND aktion=‚Sperrung‘ ORDER BY datum DESC

SELECT * FROM log WHERE datum > ‚2001-01-01 01:01:01‘ AND aktion LIKE ‚pwd falsch: %‘

die ip wird aus php ausgelesen
das datum in der zweiten abfrage kommt aus dem ersten select.

tabellenstruktur:
ip | datum | aktion
varchar(15) | timestamp | varchar(128)

danke für eure hilfe

Hallo Stefan,

ich hab ein php-skript für nen freund geschrieben, dass mit
mysql-abfragen arbeitet.
jetzt hat der nur version 3 auf seinem webspace und das skript
läuft nicht, weil höchstwarscheinlich ein problem mit der
syntax besteht

Die Syntax sieht selbst für MySQL3 ordentlich aus, ohne daß ich es konkret testen konnte, habe gerade keine Version 3 zur Hand :wink:
Bist Du sicher, daß es an dieser einen Abfrage hängt? Was kommt denn für eine konkrete Fehlermeldung? Dann lässt sich das Problem wahrscheinlich besser einkreisen. Kann es nicht sein, daß es mehr am PHP-Skript liegt? Wenn dieser Provider schon das steinalte MySQL3 benutzt, wer weiss, welche PHP-Version er da laufen hat, vielleicht PHP 2???
Du kannst ja versuchen, mit Hilfe dieser Uralt-Anleitung für MySQL 3
http://www.little-idiot.de/mysql/mysql.html
einen Fehler zu finden, aber ich halte das für verschwendete Zeit. Was hält deinen Freund noch bei einem Provider mit MySQL3? So kompliziert ist ein Umzug doch auch nicht.
Aber gut, poste mal die exakte Fehlermeldung, dann sehen wir weiter.

Viele Grüße
Marvin

hallo marvin

erstmal danke für deine antwort

ich hab leider kein zugriff auf den server, deswegen kann ichs jetzt nicht wissen. jedenfalls kommen keine fehlermeldungen (error_reporting ist auch aus)
ich weiß das er PHP 4.4.8 hat. getestet hab ich auf meinem internet-provider. der hat 4.4.4 oder auch 4.4.8 (auf jeden Fall ne 4er version). und da hats funktioniert. genau wie lokal auf php5

die idee zum ganzen ist, dass ich mit den beiden SQLs mir einen result-tabelle erstellen lasse die alle falsch eingegebenen passwörter seit der letzen sperrung beinhaltet. mit php und mysql_num_rows zähle ich die zeilen. übersteigen sie einen festgelegten wert, wird eine fehlermeldung angezeigt und das skript verweigert dann für nen zeitraum die datenbankabfragen
die inserts mit den sperrungen und den falschen passwörtern funktionieren. wenn num_rows jetzt 0 oder false liefert weil der query falsch ist erklärt das einfach alles.

Hallo Stefan,

ich hab leider kein zugriff auf den server,

auch nicht mit phpMyAdmin? Das ist ja wie Blindflug und macht die Sache etwas schwieriger. kannst Du nicht wenigstens ein

echo "Fehler: ".mysql\_error();

an entsprechenden Stellen einbauen?

die idee zum ganzen ist, dass ich mit den beiden SQLs mir
einen result-tabelle erstellen lasse die alle falsch
eingegebenen passwörter seit der letzen sperrung beinhaltet.
mit php und mysql_num_rows zähle ich die zeilen. übersteigen
sie einen festgelegten wert, wird eine fehlermeldung angezeigt
und das skript verweigert dann für nen zeitraum die
datenbankabfragen
die inserts mit den sperrungen und den falschen passwörtern
funktionieren. wenn num_rows jetzt 0 oder false liefert weil
der query falsch ist erklärt das einfach alles.

Bin ich mir nicht so sicher. Deine Abfragen sind ja eigentlich relativ normale SQL-Befehle, die so in jeder MySQL-Version funktionieren sollten. Meine Vermutung geht eher dahin, daß schon die Anmeldung/Verbindung zur Datenbank nicht funktioniert, warum auch immer, und deshalb false zurückgeliefert wird. Aber ohne weitere Ausgaben ist das rein spekulativ.

Viele Grüße
Marvin