MySQL-Update

Fragen und Diskussionen zu laufenden ConPresso 3.x Projekten werden in diesem Forum diskutiert.
alterego
ConPresso-User
Beiträge: 36
Registriert: 10.05.2006 09:38

MySQL-Update

Beitrag von alterego »

Nach Update auf MySQL-5 geht nix mehr mit Conpresso 3.x. Was kann ich machen? Hier die Fehlermeldung:

Database error: Invalid SQL: SELECT project, release, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, send_pw, help, startnews, ipcheck, lkey, owner, target FROM eeb_option WHERE id != ''
MySQL Error: 1064 (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 'release, release_email, system_email, admin_email, timeout, max_image, max_file,' at line 1)
Session halted.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Frage doch mal denjenigen, der sich für mySQL5 entschieden hat.
Der kann sicher sagen, was an einem so einfachen SELECT-Statement falsch sein kann.

Hat hier denn einer der mehreren Dutzend Usern, die an mySQL5 gescheitert sind, schon mal ConPresso damit zum laufen gebracht?

Funktioniert überhaupt irgendein PHP/mySQL-Programm auf diesem Server?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
alterego
ConPresso-User
Beiträge: 36
Registriert: 10.05.2006 09:38

Beitrag von alterego »

Keine Idee? CP 4 läuft problemlos. Da muss man doch was machen können!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ideen hätte ich da viele :wink:

Man könnte sich z.B. mal die Dateien anschauen.
Man könnte die gleichen SQL-Strings mal in PHPmyAdmin austesten.
Man könnte sich mal die my.cnf anschauen.
Man könnte mal ein paar Probe-Dateien erstellen und ausprobieren.
Man könnte mal den Debug-Modus von ConPresso aktivieren.

Die Info, daß CPO4 darauf läuft, ist ja schon mal viel wert... :D
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Re: MySQL-Update

Beitrag von balu »

alterego hat geschrieben:Database error: Invalid SQL: SELECT project, release, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, send_pw, help, startnews, ipcheck, lkey, owner, target FROM eeb_option WHERE id != ''
MySQL Error: 1064 (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 'release, release_email, system_email, admin_email, timeout, max_image, max_file,' at line 1)
Session halted.
So wie es aussieht, ist "release" seit Version 5.0 ein "reserved word" und darf nur noch gequoted benutzt werden: http://www.mysql.org/doc/refman/5.1/en/ ... words.html

Es muessten also alle SQL-Abfragen, in denen "release" als Spaltenname vorkommt geaendert werden, so dass "release" als "`release`" geschrieben wird, wie in http://www.mysql.org/doc/refman/5.0/en/legal-names.html beschrieben.

Um welches ConPresso handelt es sich genau?

Balu
squidi
ConPresso-Newbie
Beiträge: 9
Registriert: 08.10.2006 02:45

Beitrag von squidi »

hallo erstmal,

auch möchte mit meiner homepage umziehen, version 3.4.9. bei einer testinstallation unter XAMPP für win 1.5.4 bekam ich ebenfalls die diese fehlermeldung.

ist bisher schon eine lösung gefunden worden um die version 3.4.9 auf mysql5 zu updaten ? welches sind die besonderen einstellungen in der mysql5 mit der die installation in wampp lief ?

mfg squidi
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ich habe es nicht getestet, aber mal abgesehen von der Installation sollte das die Dateien
_content/preference.php
und
_include/system_const.php
betreffen, bei denen Du in den Abfragen
release
durch
`release`
ersetzen solltest.
(Wichtig: Das sind sog. "backticks"... findest Du rechts neben dem ß/? auf Deiner Tastatur)

edit: habe es jetzt mal mit XAMPP 1.5.4a getestet... es sind genau 3 Stellen so zu ändern, dann läuft es..
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
squidi
ConPresso-Newbie
Beiträge: 9
Registriert: 08.10.2006 02:45

Beitrag von squidi »

hi markus ...

habe die sachen geändert und bekomme in schritt 3 der installation diese meldung:

Code: Alles auswählen

Schreibe Datenbankkonfigurationsdatei... OK
Prüfen die Datenbankkonfigurationsdatei.
Die Datenbank-Konfiguration ist OK.
Erstelle Datenbanktabellen... Database error: Invalid SQL: CREATE TABLE cpo_option ( id int(10) NOT NULL auto_increment, project varchar(255) default NULL, release int(1) default NULL, release_email int(1) default NULL, system_email varchar(100) default NULL, admin_email varchar(100) default NULL, timeout int(5) default NULL, max_image int(10) default NULL, max_file int(10) default NULL, article_width varchar(5) default NULL, language varchar(25) default NULL, base_url varchar(255) default NULL, lkey text, owner varchar(255) default NULL, send_pw int(1) default NULL, help int(1) default NULL, startnews int(1) default NULL, ipcheck int(1) default NULL, target varchar(255) default NULL, timestamp timestamp(14) NOT NULL, c_time datetime NOT NULL default '0000-00-00 00:00:00', changer varchar(255) default NULL, PRIMARY KEY (id)) TYPE=MyISAM;
MySQL Error: 1064 (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 'release int(1) default NULL, release_email int(1) default NULL, system_email var' at line 1)
Session halted.
das es sich um eine neue installation handelte habe ich, in der setup conpresso sql-datei diese änderung vorgenommen, das konnte ich zu schritt vier kommen

Code: Alles auswählen

#
# Tabellenstruktur für Tabelle `cpo_option`
#

DROP TABLE IF EXISTS cpo_option;
CREATE TABLE cpo_option ( id int(10) NOT NULL auto_increment, project varchar(255) default NULL, `release` int(1) default NULL, release_email int(1) default NULL, system_email varchar(100) default NULL, admin_email varchar(100) default NULL, timeout int(5) default NULL, max_image int(10) default NULL, max_file int(10) default NULL, article_width varchar(5) default NULL, language varchar(25) default NULL, base_url varchar(255) default NULL, lkey text, owner varchar(255) default NULL, send_pw int(1) default NULL, help int(1) default NULL, startnews int(1) default NULL, ipcheck int(1) default NULL, target varchar(255) default NULL, timestamp timestamp(14) NOT NULL, c_time datetime NOT NULL default '0000-00-00 00:00:00', changer varchar(255) default NULL, PRIMARY KEY  (id)) TYPE=MyISAM;
# --------------------------------------------------------
bei schritt 4 steht nun folgende fehlermeldung:

Code: Alles auswählen

Fatal error: Using $this when not in object context in C:\Programme\xampp\htdocs\conpresso3\_include\rfc822.php on line 168

Code: Alles auswählen

zeile 168            if (!isset($this->mailRFC822)) {
mfg squidi
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ich hatte was von "Umzug" und nicht "Neuinstallation" gelesen...
MarkusR hat geschrieben:... mal abgesehen von der Installation ...
sonst hätte ich Dir diese Datei auch genannt (da ich ja selbst gerade diese Änderung gemacht habe)

Für Dein letztes Problem lese einfach
http://community.conpresso.de/viewtopic.php?p=4667#4667
(was Du über einen Klick auf "Suchen" auch selbst gefunden hättest...)

also im Grunde die Mailprüfung komplett auskommentieren und nur die zwei ...=true Zeilen hineinstellen. Dann geht's.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
squidi
ConPresso-Newbie
Beiträge: 9
Registriert: 08.10.2006 02:45

Beitrag von squidi »

sorry mittlerweile hatte ich den probeumzug schon wieder gelöscht und dachte erstmal *neu* probieren ... mein fehler sorry

mfg squidi
marcusp
ConPresso-User
Beiträge: 32
Registriert: 09.11.2006 16:55
Hat sich bedankt: 6 Mal

Beitrag von marcusp »

Ich hatte mich mit dem gleichen Problem an meinen Webhoster gewendet, der schrieb mir folgendes:

Ich habe Ihnen das Query kurzerhand selbst behoben. Fehlerhaft war hier das fehlende Quoting der Felder für reservierte Wörter wie zB "release". Nichts desto trotz sollten Sie ein Update Ihres CMS ConPresso in betracht ziehen.
Leider ist es mir unmöglich ein Changelog der ConPressoseite zu entziehen, sodaß ich Sie bezüglich der MySQL 5.0-tauglichkeit nicht weiter unterstützen kann.

Danach lief wieder alles problemlos.

Grüße
Marcus
Marco
ConPresso-User
Beiträge: 67
Registriert: 01.01.1970 01:00

Beitrag von Marco »

Hi Markus, Hi balu,
wollte es versuchen, manuell zu ändern, aber ich habe in den Files mehrere Vorkommnisse von "release" - und ich weiß nun nicht, welche genau geändert werden sollen und welche nicht.

Würde auch das Update testen, möchte aber vorher wissen, welche files durch das update betroffen sind, (ist das überhaupt zu meiner Version downgradefähig, oder muss erst au *.10 upgehradet werden?), um updates zu ziehen

Viele Grüße und vielen Dank für Eure Mühe!-
Marco
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Poste die Vorkommen (wobei Du es auf die sql-queries reduzieren könntest), dann antworte ich Dir welche davon Du ändern sollst.

Kleiner Tip: Es gibt genau 3 Queries in den genannten Dateien, davon müssen 3 angepasst werden.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Marco
ConPresso-User
Beiträge: 67
Registriert: 01.01.1970 01:00

Beitrag von Marco »

Hallo Markus,
hier die ersten Vorkommnisse :


In der Preference.php

$query = "REPLACE INTO ".$dbPrefix."_option ( id, project, release, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, lkey, owner, send_pw, help, startnews, ipcheck, target, timestamp, c_time, changer ) VALUES (\"1\", \"".$project."\", \"".$release."\", \"".$release_email."\", \"".$system_email."\", \"".$admin_email."\", \"".$timeout."\", \"".$max_image."\", \"".$max_file."\", \"".$article_width."\", \"".$language."\", \"".$base_url."\", \"".$lkey."\", \"".$owner."\", \"".$send_pw."\", \"".$help."\", \"".$startnews."\", \"".$ipcheck."\", \"".$base_target."\", \"".$timestamp."\", \"".$c_datum."\", \"".$_SESSION['SID_login']."\")";

Dann:
$query = "SELECT project, release, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, lkey, owner, send_pw, help, startnews, ipcheck, target "

-----------

In der System_Const.php:
$query = "SELECT project, release, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, send_pw, help, startnews, ipcheck, lkey, owner, target "
."FROM ".$dbPrefix."_option WHERE id != ''";
DEBUG(2, $query, __FILE__, __LINE__);

Da -release- sehr oft verwendetr wird, weiss ich nicht, ob überall, wo release verwendet wird, die backicks rein müssen, oder nur an bestimmten stellen.

Thx.
Marco
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Sie müssen hier, hier und hier hin (siehe Fettdruck)
Marco hat geschrieben:In der Preference.php

$query = "REPLACE INTO ".$dbPrefix."_option ( id, project, `release`, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, lkey, owner, send_pw, help, startnews, ipcheck, target, timestamp, c_time, changer ) VALUES ("1", "".$project."", "".$release."", "".$release_email."", "".$system_email."", "".$admin_email."", "".$timeout."", "".$max_image."", "".$max_file."", "".$article_width."", "".$language."", "".$base_url."", "".$lkey."", "".$owner."", "".$send_pw."", "".$help."", "".$startnews."", "".$ipcheck."", "".$base_target."", "".$timestamp."", "".$c_datum."", "".$_SESSION['SID_login']."")";

Dann:
$query = "SELECT project, `release`, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, lkey, owner, send_pw, help, startnews, ipcheck, target "

-----------

In der System_Const.php:
$query = "SELECT project, `release`, release_email, system_email, admin_email, timeout, max_image, max_file, article_width, language, base_url, send_pw, help, startnews, ipcheck, lkey, owner, target "
."FROM ".$dbPrefix."_option WHERE id != ''";
DEBUG(2, $query, __FILE__, __LINE__);
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Antworten