MySQL Anfrage: Syntax
Steffen
- php
0 Rouven0 Steffen
0 Daniela Koller
Hallo,
ich habe folgendes Skript, das nicht das tut, was es soll:
$sql = "DROP TABLE IF EXISTS test";
if ($ergebnis = mysql_query($sql, $datenbank))
{
echo "SQL Kommando ausgeführt.";
}
Sieht da jemand einen Fehler? (test ex. natürlich !)
Ich bin mir eigentlich sicher, die Syntax befolgt zu haben. Desweiteren würde mich interessieren, wie ich jetzt PHP Variablen in die MySQL Anfrage einbaue, die ich aus Formularen bekomme.
Geht das so:
$test = hallo;
$sql = "DROP TABLE IF EXISTS $test";
if ($ergebnis = mysql_query($sql, $datenbank))
{
echo "SQL Kommando ausgeführt.";
}
Die 2. Frage ist echt wichtig für mich, da man sich meine beiden 600 Seiten schmöker dezent dazu ausschweigen und alles mit festen Werten machen.
Danke im voraus.
Gruß, Steffen
Morgen,
schreib mal bitte deine Fehlermeldung, wenn du sagst er macht es nicht. So auf Anhieb kann ich da gerade nichts entdecken, außer dass ich gerade nicht weiß, was mysql_query bei erfolgreichem Query zurückgibt...
Rouven
Hallo,
auch mit der anderen Syntax geht es nicht. Das Problem ist, ich bekomme garkeine Fehlermeldung. Nur das Skript gibt nichts aus --> Aktion ist also nicht geglückt und dei Tabelle ist auch noch da, wo sie war.
Gruß, Steffen
Hi Steffen
$sql = "DROP TABLE IF EXISTS test";
Falsche SQL Syntax, schau dir nochmal das Syntaxdiagramm an: http://www.mysql.com/doc/en/DROP_TABLE.html. Das
sagt eindeutig, dass es so gehen muss:
DROP TABLE tabellenname IF EXISTS
Geht das so:
$test = hallo;
$sql = "DROP TABLE IF EXISTS $test";
if ($ergebnis = mysql_query($sql, $datenbank))
{
echo "SQL Kommando ausgeführt.";
}
Es ist ein String den du übergibst als Query, also bastle ihn wie einen normalen String zusammen. Du hättest es aber auch ausprobieren können (wenn denn der SQL-Syntax richtig gewesen wäre.)
Gruss Daniela