用PHP变量创建MySQL表

use*_*737 3 php mysql

我正在尝试创建一个表,其名称是变量中存储的值的值$name.我尝试了很多不同的方法,但似乎没有一个适合我.这是我目前使用的代码:

 mysql_connect("localhost", "peltdyou_admin", "123456") or die(mysql_error()); 
 mysql_select_db("peltdyou_orders") or die(mysql_error()); 
 mysql_query("CREATE TABLE '" .$_POST['name']. "' ( name VARCHAR(30), age INT, car VARCHAR(30))");
Run Code Online (Sandbox Code Playgroud)

我知道这与某些事情有关,'" .$_POST['name']. "'但我无法解决问题.我已经尝试'$name'了它从代码中进一步获得它的价值.

任何帮助都会很棒!

Dam*_*rsy 9

在表名周围使用反引号,而不是引号.逃避输入!此外,虽然这适用于localhost,但请确保在生产服务器上运行的用户具有CREATE表的权限(当然,通常不是,AFAIK,在共享主机上).

一句警告:你真的确定要在用户输入上创建一个表吗?你要以这种方式创建多少个表?难道你不能只重新设计整个事物,以便插入吗?

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