Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Tabelle mit PHP-Variable erstellen

Verwenden Sie Backticks um den Tabellennamen herum, keine Anführungszeichen. Und entkomme der Eingabe! Auch wenn dies auf localhost funktioniert, stellen Sie sicher, dass der Benutzer, der auf Ihrem Produktionsserver ausgeführt wird, das Privileg hat um Tabellen zu ERSTELLEN (normalerweise nicht, AFAIK, natürlich auf gemeinsam genutzten Hostings).

Ein Wort der Warnung: Sind Sie wirklich sicher, dass Sie anhand einer Benutzereingabe eine Tabelle erstellen möchten? Wie viele Tabellen werden Sie auf diese Weise erstellen? Kannst du das Ganze nicht einfach so umgestalten, dass du Werte einfügst? stattdessen?

$name = mysql_real_escape_string($_POST['name']);
mysql_query("CREATE TABLE `".$name."` ( name VARCHAR(30), age INT, car VARCHAR(30))");