php插入到数据库变量名中

php插入到数据库变量名中,php,mysql,Php,Mysql,当试图使用 $SomeTable = "SomeTable"; INSERT INTO "' . $SomeTable . '" SET ... 而不是 INSERT INTO SomeTable SET ... 我不成功。为什么我不能使用php变量来调用数据库名称?您需要使用如下内容: $SomeTable = "SomeTable"; $query = 'INSERT INTO `' . $SomeTable . '` SET ... '; 它使用`字符而不是引号您需要将表名(和列名

当试图使用

$SomeTable = "SomeTable";
INSERT INTO "' . $SomeTable . '" SET ... 
而不是

INSERT INTO SomeTable SET ...

我不成功。为什么我不能使用php变量来调用数据库名称?

您需要使用如下内容:

$SomeTable = "SomeTable";
$query = 'INSERT INTO `' . $SomeTable . '` SET ... ';

它使用`字符而不是引号

您需要将表名(和列名)换行,而不是单引号或双引号。您应该真正使用准备好的语句,而不仅仅是串接字符串。@Chris很遗憾,您不能对表名使用占位符。这是一个巨大的疏忽。@tadman真的!?我会认为这是同样的原则?哇!每天学习一些新的东西。PDO确实应该这样做,但由于某些原因,它从未获得过这种能力。数据占位符总是以字符串的形式转义,但表名使用不同的转义方法。为什么有必要使用反勾号?我相信这有助于将其与WHERE、from等SQL语句区分开来。我在简短的谷歌搜索中没有发现任何官方信息