Hi
ich habe ein Gästebuch Service auf meiner Homepage bei dem sich jeder der ein Gästebuch will anmelden kann. Bloß ich habe schwierigkeiten mit einem SQL befehl. Ich möchte wenn sich jemand anmeldet eine neue Tabelle erstellen. Der Code dafür ist:
$sql = \'CREATE TABLE `gb_$gbusername` (\'
. \' `id` INT(5) UNSIGNED NOT NULL AUTO_INCREMENT, \'
. \' `nummer` VARCHAR(10) NOT NULL, \'
. \' `username` VARCHAR(100) NOT NULL, \'
. \' `datum` VARCHAR(10) NOT NULL, \'
. \' `zeit` VARCHAR(10) NOT NULL, \'
. \' `text` TEXT NOT NULL, \'
. \' `usermail` VARCHAR(100) NOT NULL, \'
. \' `userpage` VARCHAR(100) NOT NULL,\'
. \' PRIMARY KEY (`id`)\'
. \' )\';
$send = mysql_query($sql);
wenn dieser code ausgeführt wird erstellt MySQL eine neue Tabelle mit dem namen: gb_$gbusername
die PHP variable $gbusername enthält den usernamen.
ich möchte eine tabelle z.B. namens: gb_ddsoftware erstellen
bei dem beispiel enthält die Variable $gbusername "ddsoftware"
wie kann man also eine PHP Variable an einen SQL Code übergeben
Vielen Dank schon im Vorraus
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
Das Problem liegt darin, daß Du einfache Quotes (') verwendet hast. Der PHP-Interpreter interpoliert zwischen einfachen Quotes keine Inhalte, nur zwischen doppelten Quotes (").
Dein SQL-Befehl muß also folgendermaßen aussehen:
$sql = "CREATE TABLE `gb_$gbusername` (\'
. \' `id` INT(5) UNSIGNED NOT NULL AUTO_INCREMENT, \'
. \' `nummer` VARCHAR(10) NOT NULL, \'
. \' `username` VARCHAR(100) NOT NULL, \'
. \' `datum` VARCHAR(10) NOT NULL, \'
. \' `zeit` VARCHAR(10) NOT NULL, \'
. \' `text` TEXT NOT NULL, \'
. \' `usermail` VARCHAR(100) NOT NULL, \'
. \' `userpage` VARCHAR(100) NOT NULL,\'
. \' PRIMARY KEY (`id`)\'
. \' )";
$send = mysql_query($sql);
Mein Honorar beträgt 175 € zuzüglich Mehrwertsteuer ;o)
Bester xaf,
irgendwas stimmt da auch bei Dir noch nicht so ganz...
"CREATE TABLE `gb_$gbusername` (\'
[...]
. \' )";
Da es sich hier um einzelne verkettete Strings (was man auf Grund der \ nicht ganz direkt ins Auge sticht) handelt sollte " also gleich am Ende der 1. Zeile (= Ende des ersten Strings) stehen...
Wenn Du mir jetzt 125€ Deines Honores abtritts ist das in Ordnung ;o)
Gruß
bor
Bester Bor,
und wieder einen Flüchtigkeitsfehler bei mir entdeckt ;o)...
Aber mehr als 50:50 ist nicht drin ;o)
hi
ich verstehe das noch immer nicht! kann mir mal jemand den ganzen Code RICHTIG geschrieben hier posten.
Vielen Dank
. ' `id` INT(5) UNSIGNED NOT NULL AUTO_INCREMENT, '
. ' `nummer` VARCHAR(10) NOT NULL, '
. ' `username` VARCHAR(100) NOT NULL, '
. ' `datum` VARCHAR(10) NOT NULL, '
. ' `zeit` VARCHAR(10) NOT NULL, '
. ' `text` TEXT NOT NULL, \'
. ' `usermail` VARCHAR(100) NOT NULL, '
. ' `userpage` VARCHAR(100) NOT NULL,'
. ' PRIMARY KEY (`id`)'
. ' )';
ich verstehe das noch immer nicht!
Dann hoffe ich in Deinem eigenen Interesse das Du vom absichern von PHP-Scripten mehr verstehst - sonst wird das nämlich gefährlich...
Das kostet jetzt natürlich extra ;o)
Gruß
Borlander