插入表名为变量的表

时间:2013-12-24 03:30:48

标签: php mysql sql

我想插入表名为变量的表中。我可以很好地插入到表中,但是当我尝试将其变为变量时,我会遇到问题。我可能只是不太清楚语法。

下面没有变量

$query = $pdo->prepare('INSERT INTO test (item) VALUES (?)'); 

以下是我需要的内容

$type     = 'test';
$query = $pdo->prepare('INSERT INTO' + $type + '(item) VALUES (?)');

我也试过做一个escape_string

$type     = 'send';
$type     = mysql_real_escape_string($type);

我非常确定我的语法是关闭的。

2 个答案:

答案 0 :(得分:2)

试试这个:

$type     = 'test';
$query = $pdo->prepare("INSERT INTO `{$type}` (item) VALUES (?)");

另请注意,PHP使用点.而不是+作为字符串连接运算符。但是对于查询使用双引号字符串,您可以使用字符串中的表变量,并对变量进行插值。

答案 1 :(得分:0)

你们两边都缺少空格。

'INSERT INTO ' . $type . ' (item) VALUES (?)'

会起作用,因为$type会被两边的空格分开。

请注意INTO之后的空格和(item)之前的空格。