Datenbankfehler nach upgrade auf 0.1.7 trotz YA Fix

Begonnen von Knut, 09 Dezember 2005, 16:59:44

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Knut

Hi habe soeben auf 0.1.7 von 0.1.6 upgedated.

Anschliessend bekam ich, wie erwartet, bei Anmeldung über Linkaktivierung die Fehlermeldung:

"Datenbankfehler: Benutzer konnte nicht zur Datenbank hinzugefügt werden. 101"

(da ich die YA Erweiterungen installiert habe)

Daraufhin habe ich gleich den YA Fix drüber laufen lassen. Das resultat war dieses hier:

Beim Abgleich der Tabellen sind Fehler aufgetreten, nachfolgend die Meldungen.

Error sql_query():
qry: ALTER TABLE `temp_tbl_43999cfe5a6b5` ADD `check_key` int(5) NOT NULL default '0', ADD `check_time` int(11) NOT NULL default '0', ADD `check_ip` varchar(16) NOT NULL default '0', ADD `check_host` varchar(60) NOT NULL default '0', ADD `check_thepss` varchar(40) NOT NULL default '0', ADD `check_isactive` tinyint(1) NOT NULL default '0';
descr: You have an error in your SQL syntax near '; ' at line 7 ( mysql 1064 )

Error sql_query():
qry: SELECT COUNT(uid) FROM `{prefix}_users_temptable`
descr: Table 'usr_web1_1.{prefix}_users_temptable' doesn't exist ( mysql 1146 )



Daraufhin habe ich ersteinmal das YA Update "Script zum erweitern der Usertabelle" aufgespielt und erneut den YA Fix ausgeführt. Diesmal mit folgender Fehlermeldung:

Beim Abgleich der Tabellen sind Fehler aufgetreten, nachfolgend die Meldungen.

Error sql_query():
qry: ALTER TABLE `temp_tbl_43999f4446e28` ADD `check_key` int(5) NOT NULL default '0', ADD `check_time` int(11) NOT NULL default '0', ADD `check_ip` varchar(16) NOT NULL default '0', ADD `check_host` varchar(60) NOT NULL default '0', ADD `check_thepss` varchar(40) NOT NULL default '0', ADD `check_isactive` tinyint(1) NOT NULL default '0';
descr: You have an error in your SQL syntax near '; ' at line 7 ( mysql 1064 )


weiterhin erhalte ich auch bei einem Registrierungsversuch mit Aktivierungslink:

"Datenbankfehler: Benutzer konnte nicht zur Datenbank hinzugefügt werden. 101"

Wer kann mir weiterhelfen?

Andi

Moin :)

Zitatdescr: Table 'usr_web1_1.{prefix}_users_temptable' doesn't exist ( mysql 1146 )

Das normale Update wie im readme beschrieben hast du vorher gemacht? Normalerweise wird die Tabelle dabei angelegt...
schön´s Grüssle, Andi

Knut

nachdem ich ja im 2. Schritt (nach dem update von 1.1.6 auf 1.1.7)
die Erweiterung der YA Tabellen (die vom 2.12.05) aufgespielt habe,
denke ich doch mal, dass er es dort zumindest nachgeholt hat.

Jedenfalls habe ich jetzt die 'usr_web1_1.{prefix}_users_temptable' in meiner Datenbank.

Deine kleinen Attachments aus dem Thread zum Thema habe ich NICHT aufgespielt, denke doch das wird das im Downloadbereich zur Verfügung stehende YA Fix beinhalten.

RiotheRat

Hast Du beim UPDATE die Datei upgrade.php ausgeführt? www.example.com/upgrade.php <-- Diese Datei aktualisiert normalerweise alle (!) Tabellen die gealtert werden müssen.

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

Knut

klar das update auf 1.1.7 ist durchgelaufen.
kann ich das denn evtl. nochmal drüberspielen?

RiotheRat

Das Upgrade kannst Du immer wieder und immer wieder laufen lassen  :D Es verändert nur dann etwas wenn es notwendig ist. Ansonsten bleibt alles beim alten ...

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

Knut

Ok,ich habs jetzt nochmal ausgeführt mit folgendem für mich nicht überraschenden Ergebnis:

Die Umfragentabellen waren bereits aktuell.
Das User-Banning System war bereits aktuell.
Es wurden 94 News-Artikel überprüft und konvertiert.
Die Usertabelle war bereits aktuell.
Die zusätzliche Usertabelle war bereits vorhanden.
Die Enyklopädie-Tabelle war bereits aktuell.
Die Tabelle für das Usergästebuch war bereits vorhanden.
Die Tabellen für das erweiterte Feedbackmodul waren bereits vorhanden.

Aber das hat ebenfalls nicht funktioniert.

Der YA Fix gibt mir immer noch diese Meldung:

Zitat
Usertabellen-Abgleich

Beim Abgleich der Tabellen sind Fehler aufgetreten, nachfolgend die Meldungen.

Error sql_query():
qry: ALTER TABLE `temp_tbl_4399efca3aada` ADD `check_key` int(5) NOT NULL default '0', ADD `check_time` int(11) NOT NULL default '0', ADD `check_ip` varchar(16) NOT NULL default '0', ADD `check_host` varchar(60) NOT NULL default '0', ADD `check_thepss` varchar(40) NOT NULL default '0', ADD `check_isactive` tinyint(1) NOT NULL default '0';
descr: You have an error in your SQL syntax near '; ' at line 7 ( mysql 1064 )

und nun? Wie kann ich denn rausfinden was da in Zeile 7 in mysql 1064 hinkt?

Danke für die Hilfe!

RiotheRat

Okay,

dann mach mal bitte folgendes ...

1. Mit phpMyAdmin die {prefix}_users_temptable _löschen_

2. Das Upgrade - Script nochmals ausführen

und

3. Wenn Du den erweiterten Your_Account verwendest (und nur dann) das YA-Tool anwerfen.

Damit müsste es dann klappen ...

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

Andi

schön´s Grüssle, Andi

Knut

@RiotheRat

Bin genau wie Du beschrieben hast vorgegangen. Jetzt habe ich wieder folgende Fehlermeldung:

ZitatError sql_query():
qry: ALTER TABLE `temp_tbl_4399ff7b88cc3` ADD `check_key` int(5) NOT NULL default '0', ADD `check_time` int(11) NOT NULL default '0', ADD `check_ip` varchar(16) NOT NULL default '0', ADD `check_host` varchar(60) NOT NULL default '0', ADD `check_thepss` varchar(40) NOT NULL default '0', ADD `check_isactive` tinyint(1) NOT NULL default '0';
descr: You have an error in your SQL syntax near '; ' at line 7 ( mysql 1064 )

Error sql_query():
qry: SELECT COUNT(uid) FROM `{prefix}_users_temptable`
descr: Table 'usr_web1_1.{prefix}_users_temptable' doesn't exist ( mysql 1146 )

@ Andi

CMS-Version: pragmaMx 0.1.7, 1.20/2005-11-11
PHP-Version: 4.2.2
MySQL-Version: 3.23.58
Server-Version: Apache/2.0.40 (Red Hat Linux)

Knut

möchte nochmal freundlich nachhaken, ob Euch hierzu was einfällt?

Gruss Knut

P.S. Die Autolink Funktion im Enzyklopädie-Modul ist ne Klasse Idee.

Andi

Hi :)

kann es mir zwar nicht vorstellen, abner anscheinend hängt es irgendwie mit der mySql-Version zusammen.

Teste bitte nochmal das jetzt beiliegende Script.
Wenn es damit auch fehlschlägt, dann muss die Usertabelle von Hand (phpMyAdmin) geändert werden.

[gelöscht durch Administrator]
schön´s Grüssle, Andi

Knut

Vielen Dank Andi!

Hat jetzt auf anhieb geklappt  :thumbup:

Andi

Ahhhh, super, gut zu wissen...

Muss ich dann den Download ändern ;)



Zur Info:
Manche mySql-Versionen haben anscheinend Probleme damit, wenn man beim Ändern pder hinzufügen von Feldern den Typ beim Standardwert nicht beachtet.
Bei einem Integerfeld darf der Standardwert nicht in Anführungszeichen stehen, was ja eigentlich auch logisch ist, aber eben meist von mySql toleriert wird...

falsch wäre z.B.
Zitat.... ADD `check_key` int(5) NOT NULL default '0', ....

schön´s Grüssle, Andi

NeMeSiSX2LC

Ohja das mit den '' hatte ich schon ein paar mal..... Einmal ging einmal nicht.... Bis ich dann generell beschlossen habe diese '' immer zusetzen....
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Peterpan

Habe auch dasselbe problem auf meiner Seite und kein plan wie ich weiterkomme  :'(

Error sql_query():
qry: INSERT INTO {prefix}_users_temptable SET uname = 'testuye', pass = 'd1091528dd6a8ba0c24abe18116f2bed', email = 'gariprase@hotmail.com', name = 'pirom', femail = '', url = '', user_avatar = '', user_regdate = 'Mar 11, 2006', user_icq = '', user_occ = '', user_from = '', user_intrest = '', user_sig = '', user_aim = '', user_yim = '', user_msnm = '', user_level = 1, newsletter = 0 , user_ingroup = 1, user_regtime = 1142106815, user_stat = 0, user_sexus = 0, user_lastvisit = 1142106815, user_lastip = '83.129.xxx.xxx', user_bday = NULL, user_from1 = '', user_heigh = '', user_gewicht = '', user_piercing = '', user_tatto = '', user_sucht = '', user_beziehung = '', user_haar = '', user_augen = '', user_l1 = '', user_l2 = '', user_l3 = '', user_l4 = '', user_l5 = '', user_l6 = '', user_l7 = '', user_l8 = '', user_positiv = '', user_negativ = '', user_smoke = '', user_alkohol = '', user_partneralter1 = '', user_partneralter2 = '', user_partnerwie = '', user_famstatus = '', user_partnerfigur = '', user_kinder = '', check_key = 32491, check_time = 1142106815, check_ip = '83.129.xxx.xxx', check_host = 'p83.129.xxx.xxx.tisdip.tiscali.de', check_thepss = 'kmV7rsl9eag='
descr: Unknown column 'user_from1' in 'field list' ( mysql 1054 )
details:
file: /modules/User_Registration/index.php # line: 378, cmd: sql_query(INSERT INTO os30_users_temptable SET uname          = 'testuye',...),
file: /modules/User_Registration/index.php # line: 604, cmd: finishnewuser(INSERT INTO os30_users_temptable SET uname          = 'testuye',...),
file: /modules.php # line: 114, cmd: include_once(INSERT INTO os30_users_temptable SET uname          = 'testuye',..., /modules/User_Registration/index.php),


Peterpan

Danke die zwei php dateien haben das problem gelöst. :thumbup: