• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Syntaxfehler bei query

Status
Für weitere Antworten geschlossen.

Tar

Aktives Mitglied
Hey leute, es gibt (mal wieder) folgendes Problem:

Code:
$sql = "SELECT
                Username,
                Level,
                EP,
                Stärke,
                Verteidigung,
                Geschicklichkeit,
                Gold
            FROM
                Main
            WHERE
                UserID = ".$_SESSION['ID'].";";
    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);

Soll zum auslesen der Daten verwendet werden.

Fehlermeldung beim Aufruf (mit Session vom Login):
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 '¤rke, Verteidigung, Geschicklic

Irgendjemand ne idee?
 
Ok, das behebt den Syntaxfehler, jetzt taucht allerdings das auf:

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 '' at line 12

Hab alles so gelassen (Zeile 12 ist "Geschicklichkeit" [ohne ""]) das einzigste ist, das Stärke jetzt Staerke heißt...

noch ne idee?

mfg

Tar
 
Zeile 12 ist
Code:
UserID = ".$_SESSION['ID'].";";
Wo hast du zählen gelernt? :shock:

die variable $_SESSION['ID'] scheint leer zu sein ?
 
nik, nik, nik :roll:

wo sollte denn die "phpanfangsklammer" sein, wenn das $sql der anfang wäre?

kompletter code (wo das problem drin ist)

Code:
<?php

    session_start();
    include 'connect.php';

$sql = "SELECT
                Username,
                Level,
                EP,
                Staerke,
                Verteidigung,
                Geschicklichkeit,
                Gold
            FROM
                Main
            WHERE
                UserID = ".$_SESSION['ID'].";";
    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);

Und hier ist Zeile 12 Geschicklichkeit >_>"
 
Mysql zählt die zeilen des mysql befehls. denk doch mal nach .. :roll:
 
Plötzlich liegt das Problem in zeile nr. 6:

Code:
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 '' at line 6
 
Sicher? Kommt genau der selbe fehler... Müssten es wenn schon denn schon nicht " sein?
 
`` ist nicht notwendig.
' brauchst du nur bei Strings!
Und nachdem eine ID i.d.R. ein Integer is brauchst du keine einfachen Anführungszeichen.
Dein Fehler liegt daran dass der Query ausgeschrieben(ohne $vars) so aussihet:
Code:
SELECT 
                 Username, 
                 Level, 
                 EP, 
                 Staerke, 
                 Verteidigung, 
                 Geschicklichkeit, 
                 Gold 
             FROM 
                 Main 
             WHERE 
                 UserID = ;
Das zumindest sagt die Fehlermeldung.
Deswegen muss die Session Id leer sein. Mach mal
[php:1:4814d2e2e0]<?php
echo $_SESSION['ID'];
?>[/php:1:4814d2e2e0]
und du wirst sehen, dass sie leer ist.
 
das die leer ist habe ich ja schon vor ner weile geschrieben. aber er OP fand es ja lustiger meine angebliche "dummheit" anzuprangern. :wink:
is wohl untergegangen
 
dann gib mal den komplett zusammengesetzten query aus und poste ihn hier.
 
sowas:

SELECT Username, Level, EP, Staerke, Verteidigung, Geschicklichkeit, Gold FROM Main WHERE UserID = 1;
 
du machen
Code:
echo $sql;
in dein code und kopieren in forum was stehen in fenster von browser
[das teil mit dem du grade diesen beitrag liest]
 
dann sitmmt aber was anderes nich...
Komisch. Aber die Variable muss leer sein, sonst würde so ein Fehler nicht kommen...
Poste mal das ganze Script und den Datenbankaufbau
 
Also der fehler mit zeile 6 kommt sogar wenn ich das ganze komplett in eine zeile schreibe.
Den kompletten Quelltext?
 
mach mal aus jedem vorkommen von
Code:
 $result = mysql_query($sql) OR die(mysql_error());

Code:
 $result = mysql_query($sql) OR die(mysql_error() . '
' . $sql );

dann siehst du immer genau wie die querys aussehen . [vermute du bist bei dem falschen query]
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben