Phantomas: Syntaxfehler ?

Guten Tag,

ich habe folgendes Problem:

Das Objekt "userAdmin" bestimmt die Sprache (entweder aus Cookie oder URL). Das Objekt "page" holt sich nun in seinem Konstruktor die Sprache vom Objekt "userAdmin". Funktioniert auch prima. Habe es mit echo ausgegeben. Das Objekt "page" besitzt nun eine Funktion, um sich ein Array mit Übersetzungen aus der DB zu holen.

Die Funktion sieht so aus:

function getTranslation()
{
        global $db;
 $db->select("keyval, $this->language", "uebersetzung", "", "", "", "");

while($row = $db->fetch_array())
 {
  $this->aTrans[$row['keyval']] = $row[$this->language];
 }
}

Es kommt immer folgende Fehlermeldung:
SELECT keyval, FROM uebersetzung
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 'FROM uebersetzung' at line 1
1064

$this->language besitzt den Wert "de". Habe es mit mit echo anzeigen lassen.
Ist die Syntax der zeile:
$db->select("keyval, $this->language", "uebersetzung", "", "", "", "");

Falsch?

Danke

  1. Holladiewaldfee,

    $db->select("keyval, $this->language", "uebersetzung", "", "", "", "");
    Falsch?

    Jep.

    $db->select("keyval, ".$this->language, "uebersetzung", "", "", "", "");
    wäre z.B. richtig.

    Ciao,

    Harry

    --
      Herbst ist Wanderzeit!
      http://harry.ilo.de/projekte/berge/
    1. Guten Tag,

      Sowohl Harry's als auch Luethi's Versionen funktionieren nicht.

      :(

      P.

      1. Holladiewaldfee,

        Sowohl Harry's als auch Luethi's Versionen funktionieren nicht.

        Tschuldigung, aber mit so 'nem Mini-Fetzen Code und ohne Kenntnis der verwendeten Dantebankklasse (speziell der Funktion "select") können wir Dir nicht besser helfen.

        Ciao,

        Harry

        --
          Herbst ist Wanderzeit!
          http://harry.ilo.de/projekte/berge/
  2. Hallo,

    SELECT keyval, FROM uebersetzung
    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 'FROM uebersetzung' at line 1

    Das Komma nach keyval ist falsch...

    Sorge dafuer, dass Dein SQL-Querystring anstaendig zusammengesetzt wird.

    $this->language besitzt den Wert "de". Habe es mit mit echo anzeigen lassen.

    Ja, separat kannst Du es schon ausgeben lassen, aber zwischen Anfuehrungszeichen nicht...

    $db->select("keyval, $this->language", "uebersetzung", "", "", "", "");

    Ja, diese Syntax ist falsch.
    Loesung z.B.
    $sprache=$this->language;
    Dann einfach so:
    "keyval, $sprache"
    Alternativ:
    "keyval, {$this->language}"

    Lies mal:
    http://www.php.net/manual/de/language.types.string.php#language.types.string.parsing

    Gruesse,

    Thomas