MySQL: Syntaxerror beim benutzen von IF
Chris
- datenbank
Ich habe im Handbuch nachgeschlagen (http://dev.mysql.com/doc/refman/5.0/en/if-statement.html), aber irgendwie akzeptiert er meinen Code nicht - warum?
SELECT @rollnr:=SNr FROM Sendung WHERE RollkartenNr = 41205634;
IF (@rollnr <> NULL) THEN
SELECT RollkartenNr FROM Sendung WHERE SNr = @rollnr;
ENDIF;
Ich weiss, dass das nicht allzu sinnvoll ist, ist auch nur zum Testen gedacht ;)
Die Fehlermeldung lautet wie folgt: #1064 - 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 'IF (@rollnr <> NULL) THEN
SELECT RollkartenNr FROM Sendung WHERE SNr = @rolln' at line 1
Hi,
Die Fehlermeldung lautet wie folgt: #1064 - 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 'IF (@rollnr <> NULL) THEN
SELECT RollkartenNr FROM Sendung WHERE SNr = @rolln' at line 1
Dein Statement beinhaltet ein Semikolon. Demnach ist es nicht ein Statement sondern zwei (eher charakteristisch für eine Stored Procedure). Sowohl mit einem PHP mysql_query als auch mit Tools wie PHPMyAdmin wirst du da auf keinen Fall sehr weit kommen, inwieweit das eine direkte MySQL-Oberfläche akzieptiert ist mir gerade nicht bekannt.
MfG
Rouven
echo $begrüßung;
'IF (@rollnr <> NULL) THEN
Auf NULL testet man mit IS NULL. Alles andere dürfte nicht gehen.
Dein Statement beinhaltet ein Semikolon. Demnach ist es nicht ein Statement sondern zwei [...]. Sowohl mit einem PHP mysql_query als auch mit Tools wie PHPMyAdmin wirst du da auf keinen Fall sehr weit kommen, inwieweit das eine direkte MySQL-Oberfläche akzieptiert ist mir gerade nicht bekannt.
phpMyAdmin teilt normalerweise Statements am ; auf. Hier handelt es sich beim IF aber um Stored-Procedure-Befehle, die nicht außerhalb von ebendiesen verwendet werden können.
Alternativ bieten sich vielleicht die Control Flow Functions an, die in "normalen" Statements verwendet werden können.
echo "$verabschiedung $name";