有没有办法创建Mysql表,我可以传递PHP变量作为表名?

时间:2016-05-12 07:52:37

标签: php mysql

例如:$ user = username。创建一个表名为$ user + image的表。表名是usernameimage。

1 个答案:

答案 0 :(得分:0)

首先转义输入然后在查询中使用它。

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

转义字符串意味着减少该字符串中使用的引号(和其他字符)的歧义。例如,当您定义字符串时,通常用双引号或单引号括起来:

"Hello World."

但是如果我的字符串中有双引号怎么办?

"Hello "World.""

现在我有歧义 - 翻译不知道我的字符串在哪里结束。如果我想保留双引号,我有几个选择。我可以在我的字符串周围使用单引号:

'Hello "World."'

或者我可以逃避我的报价:

"Hello \"World.\""