Mitglieder löschen geht nicht

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
radlrudi
Beiträge: 5
Registriert: 15. Mai 2009, 04:32

Mitglieder löschen geht nicht

Beitrag von radlrudi »

Folgende Fehlermeldung erscheint beim Löschen von Mitgliedern:

S Q L - E R R O R

CODE: 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 'SELECT lst_id FROM ycr_lists WHERE lst_usr_id = 12 AND lst_glob

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 193
CALL: db::db_error()

FILE: adm_program/system/db/mysql.php
LINE: 77
CALL: mysqldb->db_error()

FILE: adm_program/system/classes/table_users.php
LINE: 208
CALL: mysqldb->query()

FILE: adm_program/administration/members/members_function.php
LINE: 184
CALL: user->delete()
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hast du auch die aktuelle Version 2.1.3 ?
radlrudi
Beiträge: 5
Registriert: 15. Mai 2009, 04:32

Beitrag von radlrudi »

Systeminformationen

*

Admidio-Version:
2.1.3 auf Update prüfen

*

PHP Version:
4.4.9

*

MySQL Server Version:
4.0.27 → Admidio benötigt 4.1 oder höher

*

Safe Mode:
Off

*

Max. POST-Größe:
8M

*

Arbeitsspeicher:
8M

*

Dateiuploads:
On

*

Max. Upload-Größe:
2M

*

Max. bearbeitbare Bildgröße:
1.12 MegaPixel

*

alle PHP-Informationen:
phpinfo()

*

Debugmodus:
Off
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi RadlRudi,

dies liegt an der MySQL-Version. Wir nutzen hier ein SQL-Statement, welches mit dieser MySQL-Version nicht funktioniert.

Ich werde mir das demnächst mal anschauen und dann das so Umstellen, dass es auch mit MySQL 4.0 funktioniert.

Gruß
Fasse
radlrudi
Beiträge: 5
Registriert: 15. Mai 2009, 04:32

Vielen Dank!

Beitrag von radlrudi »

Welche SQL-Version ist die "beste?
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hallo,

>4.1 wäre gut.

Gruß Jochen
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Ab der nächsten Version 2.1.4 geht es auch wieder mit MySQL < 4.1 :
Einfach in der Datei adm_program/system/table_users.php die Zeile 206-208:

Code: Alles auswählen

        $sql    = 'DELETE FROM '. TBL_LIST_COLUMNS. '
                    WHERE lsc_lst_id IN (SELECT lst_id FROM '. TBL_LISTS. ' WHERE lst_usr_id = '.$this->getValue('usr_id').' AND lst_global = 0)';
        $this->db->query($sql);
entfernen und durch folgenden Code ersetzen:

Code: Alles auswählen

        $sql = 'SELECT lst_id FROM '. TBL_LISTS.' WHERE lst_usr_id = '.$this->getValue('usr_id').' AND lst_global = 0';
        $lst_result = $this->db->query($sql);
        
        while($row = $this->db->fetch_array($lst_result))
        {
            $sql    = 'DELETE FROM '. TBL_LIST_COLUMNS. '
                        WHERE lsc_lst_id = '.$row['lst_id'];
            $this->db->query($sql);
        }
Gruß
Fasse
Antworten