[pSys: Userverwaltung] pSYSDB-Error beim Ändern eines Users

Begonnen von k00ni, 10. Mai 2008, 11:21:03

Vorheriges Thema - Nächstes Thema

k00ni

pSys Modul: User
pSys Version: 0.7.0
Fehlerbeschreibung:
PSYSDB Error in Query: Select * From psyspfgroup g Where id Not In ( Select grpid From psyspfusergrp Where userid = \'1\' ) Order By g.nameYou 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 grpid From psyspfusergrp Wher
PSYSDB Error in Query: Select * From psyspfgroup g Where id In ( Select grpid From psyspfusergrp Where userid = \'1\' ) Order By g.name
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 grpid From psyspfusergrp Wher
[/quote]
Kommt in der Datei admin/edituser.php beim Ändern eines Users.
 
Grüße

sehnsucht


Powie

Kann ich nicht nachvollziehen. Welche mySQL Version? Könnte sein das der Subselect nicht funktioniert.

sehnsucht

so bei uns geht es nun haben die Abfragen geändert (Problemm lag wie Powie schon vermutet hatt in der Mysql Version die wir benutzen)
// Gruppen ohne Mitgliedschaft
        //Joerg 20080512 Abfrage geaendert ohne Subqueries
        //$sqlbefehl = \"Select * From $tab_group g
                      //Where id Not In
                         //( Select grpid From $tab_usergrp
                           //Where userid = \'$id\' )
                      //Order By g.name\";
        $sqlbefehl = \"Select g.* From $tab_group g
                      LEFT OUTER JOIN  $tab_usergrp ug ON g.id=ug.grpid AND ug.userid=$id
                        WHERE ug.grpid IS NULL
                      Order By g.name\";
        // Gruppen mit Mitgleidschaft
        //Joerg 20080512 Abfrage geaendert ohne Subqueries
        //$sqlbefehl = \"Select * From $tab_group g
        //               Where id In
        //                 ( Select grpid From $tab_usergrp
        //                   Where userid = \'$id\' )
        //              Order By g.name\";
        $sqlbefehl = \"Select g.* From $tab_group g
                      LEFT OUTER JOIN  $tab_usergrp ug ON g.id=ug.grpid AND ug.userid=$id
                        WHERE ug.grpid IS NOT NULL
                      Order By g.name\";

Moment: Wenn deine SQL-Version keine Subselects unterstützt ... welche historische Version betreibst Du dann?

sehnsucht


Powie

jo.... geht nicht. Mindestens 4.1.x wird benötigt.

sehnsucht

na wenn das das einziege problem war wo unsere mysql version nen fehler verursacht ist es nicht ganz so schlimm da ja umgehbar  [/uploads/emoticons/icon_e_surprised.gif.a005678239f11b45b64b526b2c82e9a1.gif\" alt=\":o\" />]

Powie

da werden dir noch weitere auffallen, das ist sicher nicht die einzigste Stelle.

k00ni

Kann man die meisten Statements nicht erstmal 4.0.x - konform halten? Ich selbst habe leider noch eine 4.0.x - Version ...

Man sollte keine MySQL-Installationen kleiner als 4.1 mehr betreiben. Dafür gibt es keinen echten Support mehr - und es fehlen einige Features, wie z.B. Subselects.
[edit]Um genau zu sein gibt es gar keinen Support mehr für ältere Versionen. Inzwischen sind auch mehrere Schwachstellen bekannt geworden, so dass unbedingt aktualisiert werden sollte.[/edit]

all your base are belong to us