在mysql创建表的名称中使用php变量

时间:2012-11-29 11:21:10

标签: php mysql sql

嘿伙计们我想使用php变量作为我用查询创建的mysql表名称的一部分。我使用了两种类型的引号,比如我在互联网上看到的一个例子。它应该创建一个单独的表名。 $cn不是数组,而是单个值。我启用了php错误报告,但没有显示任何错误。这是我试过的:

$sql2 = "CREATE TABLE lm_Warenkorb_`".$cn."`
     (
     Index TEXT,
     )";

为什么这不起作用?这可能吗?希望很清楚我想做什么。

3 个答案:

答案 0 :(得分:3)

$sql2 = "CREATE TABLE `lm_Warenkorb_".$cn."`
     (
     Index TEXT,
     )";

答案 1 :(得分:2)

我认为你需要用反引号包装整个表名 ...

$sql2 = "CREATE TABLE `lm_Warenkorb_{$cn}`
     (
     Index TEXT,
     )";

此外,您可以使用花括号将变量插入到用双引号封装的字符串中。

答案 2 :(得分:2)

您的代码将生成字符串:

CREATE TABLE lm_Warenkorb_`some_string`(Index TEXT,)

我认为它必须是2种变体:

CREATE TABLE `lm_Warenkorb_`.`some_string`(Index TEXT,)

CREATE TABLE `lm_Warenkorb_some_string`(Index TEXT,)