• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP4-Script unter PHP5 lauffähig machen

Odiii

Neues Mitglied
Hallo beisammen,

ich habe ein Script liegen, welches schon recht alt ist (vor ca. 5 Jahren gekauft). Nun ist das Problem, dass es unter PHP5 nicht mehr läuft. Einige Fehler konnte ich via Google lösen, allerdings hänge ich nun fest.

Ich bekomme folgenden Error:

Error
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC' at line 1: UPDATE arphp_Accounts SET Overall_Rank=@rank:=@rank+1 WHERE Suspended=0 AND Status='Approved' ORDER BY DESC
File
mysql.php
Line
138

Nun habe ich schon gelesen, dass DESC reserviert ist und nicht mehr genutzt werden kann. Wie schreibe ich das nun um, so dass es PHP5-fähig ist?

Hier mal die Zeile, wo ich vermute, dass es darum geht:

PHP:
"\$result = \$DB->Query(\"SELECT * FROM arphp_Snapshot WHERE \$now-Signup <= {\$GLOBALS['NEW_SITE']} ORDER BY Signup DESC LIMIT \$L_AMOUNT\");\n" .

PHP:
$compiled .= "\$result = \$DB->Query(\"SELECT * FROM arphp_Comments WHERE Username='\$username' AND Status='Approved' ORDER BY Timestamp DESC\");\n" .

Vielleicht kann mir der eine oder andere helfen.

Gruß
 
Werbung:
Heyho,

danke dir erstmal für die schnelle Antwort.

Leider bin ich kein PHP-Coder, daher kann ich damit nicht viel anfangen. HTML/CSS, damit kann ich ehr etwas anfangen, auch wenns in diesem Fall komplett nutzlos ist....
 
Werbung:
Du kannst kein PHP und versucht ein Script von PHP4 auf 5 umzustellen? Bevor Du das machst, solltest Du dir unbedingt PHP-Grundlagen aneignen. Ansonsten wirst Du hiermit ständig zu tun haben.
 
Nicht ganz. Das Script läuft soweit einwandfrei. Es treten nur 1-2 Fehler auf, die in Verbindung mit dem "neuen" PHP stehen. Ansonsten will ich da ja nichts modifizieren oder abändern (bis auf das Tempalte und da reichen meine HTML/CSS-Kenntnisse).
 
Wenn Du das wirklich willst, musst Du dich am Besten durch die Liste der Änderungen durcharbeiten und die an deinem Quellcode entsprechend anpassen. Die PHP-Doku selbst hat so eine Liste:
PHP: Backward Incompatible Changes - Manual

Das ist aber nicht alles. PHP4-Script sind meist ungünstig geschrieben, auch hinsichtlich der Performance. Einfach irgendwelche Bestandteile auszutauschen wird sicherlich nicht reichen - auch wenn es für dich im ersten Moment so aussieht, weil Du keine Fehler mehr erhältst.

Falls sich zusammen mit der PHP- auch die MySQL-Version ändert (von 4 auf 5) dann müsste man auch die SQL-Statements anpassen. Denn hier gibt es ebenfalls Unterschiede, nicht nur was die Performance angeht.
 
Werbung:
Hallo beisammen,

ich habe ein Script liegen, welches schon recht alt ist (vor ca. 5 Jahren gekauft). Nun ist das Problem, dass es unter PHP5 nicht mehr läuft. Einige Fehler konnte ich via Google lösen, allerdings hänge ich nun fest.

Ich bekomme folgenden Error:

Error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC' at line 1: UPDATE arphp_Accounts SET Overall_Rank=@rank:=@rank+1 WHERE Suspended=0 AND Status='Approved' ORDER BY DESC

File

mysql.php

Line

138

Nun habe ich schon gelesen, dass DESC reserviert ist und nicht mehr genutzt werden kann. Wie schreibe ich das nun um, so dass es PHP5-fähig ist?

Hier mal die Zeile, wo ich vermute, dass es darum geht:

PHP:
"\$result = \$DB->Query(\"SELECT * FROM arphp_Snapshot WHERE \$now-Signup <= {\$GLOBALS['NEW_SITE']} ORDER BY Signup DESC LIMIT \$L_AMOUNT\");\n" .

PHP:
$compiled .= "\$result = \$DB->Query(\"SELECT * FROM arphp_Comments WHERE Username='\$username' AND Status='Approved' ORDER BY Timestamp DESC\");\n" .

Vielleicht kann mir der eine oder andere helfen.

Gruß

Der Fehler sagt aus das der SQL Befehl nicht stimmt wenn ein Name für ein Reserviertes Wort benutz wurde dann muss auch der Name in der Datenbank geändert werden und auch in allen stellen im Script.

Leider ist auch der Code Stil sehr schrecklich aus deinen Auszug her so das eine Überarbeiten viel mehr Arbeit bedeutedt

Mfg Splasch
 
Zurück
Oben