我想插入表名为变量的表中。我可以很好地插入到表中,但是当我尝试将其变为变量时,我会遇到问题。我可能只是不太清楚语法。
下面没有变量
$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);
我非常确定我的语法是关闭的。
答案 0 :(得分:2)
试试这个:
$type = 'test';
$query = $pdo->prepare("INSERT INTO `{$type}` (item) VALUES (?)");
另请注意,PHP使用点.
而不是+
作为字符串连接运算符。但是对于查询使用双引号字符串,您可以使用字符串中的表变量,并对变量进行插值。
答案 1 :(得分:0)
你们两边都缺少空格。
'INSERT INTO ' . $type . ' (item) VALUES (?)'
会起作用,因为$type
会被两边的空格分开。
请注意INTO
之后的空格和(item)
之前的空格。