SQL-Problem bei Update 1.2.3 nach 1.4.1
SQL-Problem bei Update 1.2.3 nach 1.4.1
Hallo Forum,
ich bin leider während des Updates hängen geblieben und bin jetzt auf die alte Version zurückgekehrt (Backup ist doch was schönes!)
Ich habe brav alles gesichert, die neue Version per FTP hochgeladen, die Zugriffsrechte geändert und die alte conf.inc.php mit der dist.conf.inc.php (hoffentlich korrekt) gemerged. Dann die setup.php gestart, auf Upgrade gegangen und zuerst die Punkte "Upgrade Pagelayout", "Upgade Content Part Multimedia" und "Upgrade Article Alias" durchgeführt.
Dann die SQL Queries: Zuerst "11_1.2.3-DEV_to_1.2.4-DEV.sql" ohne Probleme. Dann "11_1.2.4-DEV_to_1.2.5-DEV.sql", was zu einem SQL-Fehler in der Zeile "ALTER TABLE `phpwcms_article` ADD `article_morelink` INT( 1 ) DEFAULT '1' NOT NULL ;" geführt hat. In der Datei steht der Befehl so wie hier geschrieben: mit einfachen Anführungszeichen um die '1' nach "DEFAULT". Sowohl in der Voransicht der Query im Upgrade-Fenster als auch in der Fehlermeldung werden aber zwei Anführungszeichen angezeigt, also ...DEFAULT ''1'' .... was natürlich nicht funktionieren kann. Woher kommen diese zusätzlichen Anführungszeichen?
Vielen Dank für Eure Hilfe!
Florian Pürner
ich bin leider während des Updates hängen geblieben und bin jetzt auf die alte Version zurückgekehrt (Backup ist doch was schönes!)
Ich habe brav alles gesichert, die neue Version per FTP hochgeladen, die Zugriffsrechte geändert und die alte conf.inc.php mit der dist.conf.inc.php (hoffentlich korrekt) gemerged. Dann die setup.php gestart, auf Upgrade gegangen und zuerst die Punkte "Upgrade Pagelayout", "Upgade Content Part Multimedia" und "Upgrade Article Alias" durchgeführt.
Dann die SQL Queries: Zuerst "11_1.2.3-DEV_to_1.2.4-DEV.sql" ohne Probleme. Dann "11_1.2.4-DEV_to_1.2.5-DEV.sql", was zu einem SQL-Fehler in der Zeile "ALTER TABLE `phpwcms_article` ADD `article_morelink` INT( 1 ) DEFAULT '1' NOT NULL ;" geführt hat. In der Datei steht der Befehl so wie hier geschrieben: mit einfachen Anführungszeichen um die '1' nach "DEFAULT". Sowohl in der Voransicht der Query im Upgrade-Fenster als auch in der Fehlermeldung werden aber zwei Anführungszeichen angezeigt, also ...DEFAULT ''1'' .... was natürlich nicht funktionieren kann. Woher kommen diese zusätzlichen Anführungszeichen?
Vielen Dank für Eure Hilfe!
Florian Pürner
A signature?
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?
We're happy to help!
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?

Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
kopfteam wrote:.... werden aber zwei Anführungszeichen angezeigt, also ...DEFAULT ''1'' .... was natürlich nicht funktionieren kann. Woher kommen diese zusätzlichen Anführungszeichen?
Florian Pürner
Aus sql .. !
Hallo
Wieso hast du nicht einfach weiter gemacht ? Unter Umständen meckert der Error etwas an, was du schon gemacht hattest. Stur bleiben hilft

- Oliver Georgi
- Site Admin
- Posts: 9917
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
die Fehlermeldung kommt von MySQL (sollte zumindest).
Wobei ich mir nicht sicher bin, dass der Fehler überhaupt Relevanz hat. Eventuell gibt es bei dir das Feld article_morelink bereits.
Oliver
Wobei ich mir nicht sicher bin, dass der Fehler überhaupt Relevanz hat. Eventuell gibt es bei dir das Feld article_morelink bereits.
Oliver
Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
Vielen Dank für Eure Antworten!
OK, OK, ich hätte natürlich die exakte Fehlermeldung posten sollen, das hätte es einfacher gemacht. Hier das Ergebnis des 1.2.4 to 1.2.5 Scripts:
Die ersten drei Zeilen sind klar, das Script ist ja schon gelaufen. Aber dann kommt der besagt Fehler. Und da sieht man, dass sich SQL an den zwei aufeinanderfolgenden einfachen Anführungszeichen beim DEFAULT stört. Wieso sind die einfachen Anführungszeichen verdoppelt?
Und nein (danke Oliver!), das Feld gibt's noch nicht.
Ideen?
OK, OK, ich hätte natürlich die exakte Fehlermeldung posten sollen, das hätte es einfacher gemacht. Hier das Ergebnis des 1.2.4 to 1.2.5 Scripts:
Code: Select all
ERROR: Duplicate column name 'f_refid' -> ALTER TABLE `phpwcms_file` ADD `f_refid` INT NOT NULL;
ERROR: Duplicate column name 'article_aliasid' -> ALTER TABLE `phpwcms_article` ADD `article_aliasid` INT NOT NULL;
ERROR: Duplicate column name 'article_headerdata' -> ALTER TABLE `phpwcms_article` ADD `article_headerdata` INT( 1 ) NOT NULL;
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 '1'' NOT NULL' at line 1 -> ALTER TABLE `phpwcms_article` ADD `article_morelink` INT( 1 ) DEFAULT ''1'' NOT NULL;
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 '0'',
`imgcache_height` int(11) NOT NULL default ''0'',
`imgcache_wh` varchar' at line 5 -> CREATE TABLE `phpwcms_imgcache` (
`imgcache_id` int(11) NOT NULL auto_increment,
`imgcache_hash` varchar(50) NOT NULL default '''',
`imgcache_imgname` varchar(255) NOT NULL default '''',
`imgcache_width` int(11) NOT NULL default ''0'',
`imgcache_height` int(11) NOT NULL default ''0'',
`imgcache_wh` varchar(255) NOT NULL default '''',
`imgcache_timestamp` timestamp(14) NOT NULL,
`imgcache_trash` int(1) NOT NULL default ''0'',
PRIMARY KEY (`imgcache_id`),
KEY `imgcache_hash` (`imgcache_hash`)
) TYPE=MyISAM AUTO_INCREMENT=1;
Und nein (danke Oliver!), das Feld gibt's noch nicht.
Ideen?
A signature?
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?
We're happy to help!
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?

- Oliver Georgi
- Site Admin
- Posts: 9917
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
Ich denke das ist nur die Aus/Wiedergabe dort an der Stelle und hat nichts mit dem eigentlichen Updatescript zu tun.
Aber mein Tip: Versuche doch die betreffende Query einfach von Hand in die Datenbank zu übernehmen. Vergewissere Dich vorher kurz in der betreffenden Update SQL, was da wirklich steht.
Die Query per phpMyadmin übernehmen (ans Backup denken
)
Oliver
Aber mein Tip: Versuche doch die betreffende Query einfach von Hand in die Datenbank zu übernehmen. Vergewissere Dich vorher kurz in der betreffenden Update SQL, was da wirklich steht.
Die Query per phpMyadmin übernehmen (ans Backup denken

Code: Select all
ALTER TABLE `phpwcms_article` ADD `article_morelink` INT( 1 ) DEFAULT '1' NOT NULL;
Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
Hallo Oliver,
wenn ich im phpMyadmin folgenden Befehl eingebe, dann funktioniert er natürlich problemlos.
Danach gibt es das Feld.
Wenn ich dann wieder das 1.2.4 to 1.2.5 Script ausführe, passiert wieder exakt der gleiche Fehler. Also nicht "Duplicate column name", sondern "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 '1'' NOT NULL' at line 1"
Die zwei aufeinander folgenden einfachen Anführungszeichen (... DEFAULT ''1'' ...) sind einfach falsch! Die stehen aber nicht in der Scriptdatei. Die werden wohl beim Einlesen der Scriptdatei dazugebaut. Ich hab' mir mal die nächsten SQL-Scripte angesehen. Das Problem taucht in jedem Script auf, in dem einfache Anführungszeichen vorkommen. Die werden alle verdoppelt.
Ich habe mir mal den PHP-Code angesehen, aber leider das Problem nicht gefunden. Es gibt zwar die Function "aporeplace" in der "general.inc.php" die (auch laut Kommentar) genau das macht "//ƒndert die einfachen Apostrophe f¸r SQL-Funktionen in doppelte", aber z.B. in der "showsql.php" wird die nirgends aufgerufen.
Ich werde nicht schlau draus....
wenn ich im phpMyadmin folgenden Befehl eingebe, dann funktioniert er natürlich problemlos.
Code: Select all
ALTER TABLE `phpwcms_article` ADD `article_morelink` INT( 1 ) DEFAULT '1' NOT NULL;
Wenn ich dann wieder das 1.2.4 to 1.2.5 Script ausführe, passiert wieder exakt der gleiche Fehler. Also nicht "Duplicate column name", sondern "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 '1'' NOT NULL' at line 1"
Die zwei aufeinander folgenden einfachen Anführungszeichen (... DEFAULT ''1'' ...) sind einfach falsch! Die stehen aber nicht in der Scriptdatei. Die werden wohl beim Einlesen der Scriptdatei dazugebaut. Ich hab' mir mal die nächsten SQL-Scripte angesehen. Das Problem taucht in jedem Script auf, in dem einfache Anführungszeichen vorkommen. Die werden alle verdoppelt.
Ich habe mir mal den PHP-Code angesehen, aber leider das Problem nicht gefunden. Es gibt zwar die Function "aporeplace" in der "general.inc.php" die (auch laut Kommentar) genau das macht "//ƒndert die einfachen Apostrophe f¸r SQL-Funktionen in doppelte", aber z.B. in der "showsql.php" wird die nirgends aufgerufen.
Ich werde nicht schlau draus....
A signature?
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?
We're happy to help!
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?

set_magic_quotes_runtime ist das Problem!
Ich habe die Ursache, aber nicht die Lösung gefunden:
In der php.ini ist nicht nur magic_quotes_gpc, sondern auch magic_quotes_runtime auf "on" gestellt! Und das ist das Problem! Wenn magic_quotes_runtime auf "off" umgestellt wird, dann wird das SQL-Script unverändert eingelesen, d.h. ohne die doppelten Anführungszeichen - und funktioniert dann natürlich auch!
Da ich keinen Zugriff auf die php.ini habe also set_magic_quotes_runtime(0). Ich möchte aber nicht in den PHP-Routinen rumfummeln. Gibt es irgendwo einen "sauberen" Weg, diesen Parameter in phpwcms zu setzen?
Danke,
Florian Pürner
In der php.ini ist nicht nur magic_quotes_gpc, sondern auch magic_quotes_runtime auf "on" gestellt! Und das ist das Problem! Wenn magic_quotes_runtime auf "off" umgestellt wird, dann wird das SQL-Script unverändert eingelesen, d.h. ohne die doppelten Anführungszeichen - und funktioniert dann natürlich auch!
Da ich keinen Zugriff auf die php.ini habe also set_magic_quotes_runtime(0). Ich möchte aber nicht in den PHP-Routinen rumfummeln. Gibt es irgendwo einen "sauberen" Weg, diesen Parameter in phpwcms zu setzen?
Danke,
Florian Pürner
A signature?
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?
We're happy to help!
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?

Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
Du kannst das nur über eine .htaccess versuchen, im phpwcms Muster sind oben ein paar Variablen gesetzt, genau da packst du das hin, und deaktivierst den rewrite, falls du den nicht benötigt
Jürgen
Jürgen
Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
Ich habe jetzt doch set_magic_quotes_runtime(0) in die function read_textfile in general.inc.php eingebaut. Damit liefen die SQL-Scripts soweit durch.
Der Table phpwcms_country hat noch gezickt (hat scheinbar ein Feld gefehlt). Den habe ich noch mal gedropped und manuell mit den SQL-Befehlen aus den Scripts neu angelegt und befüllt. Jetzt scheint alles OK zu sein.
Bleibt noch ein Problem mit größeren Datenmengen in External Content, aber dafür fange ich ein neues Topic an.
Vielen Dank für Eure Hilfe!
Der Table phpwcms_country hat noch gezickt (hat scheinbar ein Feld gefehlt). Den habe ich noch mal gedropped und manuell mit den SQL-Befehlen aus den Scripts neu angelegt und befüllt. Jetzt scheint alles OK zu sein.
Bleibt noch ein Problem mit größeren Datenmengen in External Content, aber dafür fange ich ein neues Topic an.
Vielen Dank für Eure Hilfe!
A signature?
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?
We're happy to help!
Maybe I should point out where I work: KOPFteam GmbH. Just in case you need an Administrator or Supporter somewhere around Munich/Bavaria.
Or do you need a phpwcms based website?

- Oliver Georgi
- Site Admin
- Posts: 9917
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: SQL-Problem bei Update 1.2.3 nach 1.4.1
.htaccess hinzufügen:
Oliver
Code: Select all
php_flag magic_quotes_runtime Off