Seite 1 von 1

MySQL Fehler nach Änderung einer PHP Datei

Verfasst: 09.05.2006, 18:28
von mark007q
Hi zusammen,

eine Modifikation, die erfolgreich unter der Version MySQL 4.x getestet wurde, erzeugt leider eine Fehlermeldung bei meiner Version 4.0.23 bzw. auch bei 3.23.58.

Im Detail handelt es sich um folgende Modifikation in der Datei members.php:

Dies:

Code: Alles auswählen

#
#
### Sortier - Feld
switch ($_GET['sortfield']) {
    case 'name':
        $SORT_BY = 'name';
        break;
wurde am das erweitert:

Code: Alles auswählen

case 'plz':
        $SORT_BY = 'plz';
        break;
und folgendes:

Code: Alles auswählen

#
#
### Liste ausgeben
$result = $_db->query('SELECT *
                       FROM `'.$_cfg['DB_PREFIX'].'user` '.$where.'
                       ORDER BY '.$SORT_BY.' '.$_GET['sortorder'].'
                       LIMIT '.$L_AB.', '.$_config['ANZ_MEMBERS']);
Wurde durch das ersetzt:

Code: Alles auswählen

#
#
### Liste ausgeben
$result = $_db->query('SELECT *
                       FROM `'.$_cfg['DB_PREFIX'].'user` u
                       LEFT JOIN
                        (SELECT name as fieldname, value as plz, user_id FROM `'.$_cfg['DB_PREFIX'].'user_field_value` ufv
                          LEFT JOIN `'.$_cfg['DB_PREFIX'].'user_field` uf ON ufv.field_id=uf.id WHERE name="plz") ufv ON u.id=ufv.user_id
                       '.$where.'
                       ORDER BY '.$SORT_BY.' '.$_GET['sortorder'].'
                       LIMIT '.$L_AB.', '.$_config['ANZ_MEMBERS']);
Wenn nun die Datei members.php aufgerufen wird, erscheint folgende
Fehlermeldung:


SQL 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 'SELECT name as fieldname, value as plz, user_id FROM `pmf_user_

SELECT *
FROM `pmf_user` u
LEFT JOIN
(SELECT name as fieldname, value as plz, user_id FROM `pmf_user_field_value` ufv LEFT JOIN `pmf_user_field` uf ON ufv.field_id=uf.id WHERE name="plz") ufv ON u.id=ufv.user_id

ORDER BY reg DESC
LIMIT 0, 50

Wo genau liegt der Fehler ... hat jemand eine Idee?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 09.05.2006, 19:08
von Fantomas
Subselects sind erst ab einer bestimmten Version dabei, mal in die Doku schauen.

Verfasst: 09.05.2006, 21:08
von mark007q
Hast du vielleicht eine Lösung, wie es ohne subselects gehen könnte?

Verfasst: 09.05.2006, 22:01
von Outman
Hallo,

soviel ich weiss geht das ab der Version: 4.1.0, solltest mal Dein Hoster fragen ob er die Mysql Db Updaten kann auf die Version. Oder du machst die Abfragen einzeln, ist aber sehr Mysql lastig und ein wenig Arbeit.

mfg. Nico