pdo插入变量as table(mysql)

时间:2016-05-20 02:19:37

标签: mysql pdo

我尝试使用表的变量进行INSERT INTO,但是我无法使其工作。

这是我的代码:

    $tb = "mytable" ;
$req = $bdd->prepare('INSERT INTO :tb (users, info)
                VALUES(:users, :info)')
            or exit(print_r($req->errorInfo()));
$req->execute(array(
            'tb' => $tb,    
            'users' => $name,
            'info' => $website,
            ));

我收到此消息: 您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以获得在'' mytable'附近使用的正确语法。 (用户,信息'第1行)

我真的不知道应该改变什么...

非常感谢

1 个答案:

答案 0 :(得分:0)

PDO可以接受数据作为参数,而不是表名或列名。

使用类似的东西:

$tb = "mytable" ;
$req = $bdd->prepare('INSERT INTO `' . $tb . '` (users, info)
        VALUES(:users, :info)')
    or exit(print_r($req->errorInfo()));
$req->execute([
    'tb' => $tb,    
    'users' => $name,
    'info' => $website,
]);