Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MySQL Fehler nach Änderung einer PHP Datei

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
mark007q
PostRank 5
PostRank 5
Beiträge: 225
Registriert: 11.09.2005, 15:43
Wohnort: Bochum

Beitrag von mark007q » 09.05.2006, 18:28

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?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Jetzt anfragen: 0511 / 300325-0.


Fantomas
PostRank 4
PostRank 4
Beiträge: 187
Registriert: 18.09.2005, 17:00
Wohnort: Berlin

Beitrag von Fantomas » 09.05.2006, 19:08

Subselects sind erst ab einer bestimmten Version dabei, mal in die Doku schauen.
If only you and dead people can read hex,
how many people can read hex then?

Frische Backlinks?

mark007q
PostRank 5
PostRank 5
Beiträge: 225
Registriert: 11.09.2005, 15:43
Wohnort: Bochum

Beitrag von mark007q » 09.05.2006, 21:08

Hast du vielleicht eine Lösung, wie es ohne subselects gehen könnte?

Outman
PostRank 6
PostRank 6
Beiträge: 394
Registriert: 03.12.2004, 22:55
Wohnort: Orlamünde

Beitrag von Outman » 09.05.2006, 22:01

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
Webhosting Partnerprogramm mit 2 Refebenen, PHP Webspace mit .de Domain ab 2 Euro, Zusätzlich suche ich Linkpartner zum Thema "Webmaster". Suchst du einem PHP Programmierer?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag