PDO bindValues不绑定我的值

时间:2010-09-22 19:37:22

标签: php pdo

我无法使用bindValue将我的值绑定到sql查询。

 $sql = "INSERT INTO :table(:columns) VALUES(:values)";
 $query = $conn->prepare($sql);
 $query->bindValue(':table',$table);
 $query->bindValue(':columns',$columns);
 $query->bindValue(':values',$values);
 $query->execute();

当我运行它时,$ query-> execute()返回“false”,并且数据不会更新到DB。我也试过了:

 $sql = "INSERT INTO :table(:columns) VALUES(:values)";
 $query = $conn->prepare($sql);
 $query->execute(array('table'=>$table,':columns'=>$columns,':values'=>$values));

它仍然不起作用。

这可行,但不是我想做的事情:

 $sql = "INSERT INTO $table($columns) VALUES($values)";
 $result = $conn->query($sql);

请告诉我我做错了什么。感谢。

1 个答案:

答案 0 :(得分:2)

您使用不正确,您无法通过bindParam动态分配结构SQL值等,因为它适用于插入/更新/测试的列值。

<强>更新

如果您向我们提供了$columns$variables(如评论中的牧师的评论),内容通常是/来自哪里,我/我们可以帮助您解决你的困境。