SQL-Versions- und /PHP-Problem

dennisnowack

Mitglied
Hallo!


Wir haben einen Debian-Linux-server und folgende Sql-version 3.23.49? und folgendes Problem:

Folgende Zeile im PHP-Skript:
$query="SELECT sprache,preis FROM preis WHERE id=(SELECT id FROM pama_members WHERE their_username='".$_SESSION['username']."')";

Ergibt folgende Fehlermeldung:
You have an error in your SQL syntax near 'SELECT id FROM pama_members WHERE their_username='markusmueller')' at line 1

Da beide Anfragen einzeln laufen, wird das Problem wohl an den runden Klammern liegen.

Allerdings läuft dieAbfrage bei mir zu Hause. (SQL-Version 4.1.8)

Einzelne Abfrage machen keinen Sinn, da wir auch mehrfach geschachtelte haben.

Hoffe jmd.kann mir bei dem Problem helfen.

MfG
dennisnowack
 
Hi!
Laut Handbuch ist in MySQL 3.23 der Subselect ungültig:

1.4.4.1 Sub-selects

MySQL currently only supports sub selects of the form INSERT ... SELECT ... and REPLACE ... SELECT .... You can however use the function IN() in other contexts.

In many cases you can rewrite the query without a sub-select:

SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);

....


Gruß Neph
 
Hi, irgendwie geht es immer noch nicht wirklich....
Ich habe jetzt folgendes genommen, und die Abfrage auch in phpmyadmin ausgeführt, wo sie ebenfalls zu einem fehler führt:

$query="SELECT stand FROM konto WHERE id IN (SELECT id FROM pama_members WHERE their_username='".$_SESSION['username']"')";

- und jetzt? also, ich bin jetzt erst recht überfragt. oder gibt es schon auch für linux sql-updates?
 
Scheinen zuviele Qoutes zu sein, versuch' s mal so:

SELECT stand FROM konto WHERE id IN (SELECT id FROM pama_members WHERE their_username="$_SESSION['username']")

Die funktioniert bei mir in phpMyAdmin, meldet halt nur das die Tabelle bei mir nicht existiert.
Frage: Ist da ein Punkt vor dem $session..? So viel ich weiß ist das ein Verknüpfunggsoperator, d.h. könnte u.a. auch daran liegen.
cu
 
Zurück