带有php变量的PDO查询
为什么这条线不起作用:带有php变量的PDO查询,php,pdo,Php,Pdo,为什么这条线不起作用: $db_Table = "myTable"; $pdo->prepare("INSERT INTO :db_Table VALUES (... $query->execute(array( ':db_Table' => $db_Table, 鉴于这一点有效: $pdo->prepare("INSERT INTO myTable VALUES (... 如何解决此问题?PDO查询中不能替换表名 您可以在以下线程中找到更多信息 不幸
$db_Table = "myTable";
$pdo->prepare("INSERT INTO :db_Table VALUES (...
$query->execute(array(
':db_Table' => $db_Table,
鉴于这一点有效:
$pdo->prepare("INSERT INTO myTable VALUES (...
如何解决此问题?PDO查询中不能替换表名 您可以在以下线程中找到更多信息
不幸的是,没有用于绑定表名的内置函数,您必须自己执行:
$db_Table = "myTable";
$query = $pdo->prepare("INSERT INTO `$db_Table` VALUES (...)");
$query->execute();
但这仍然没有被转义,一种解决方法是创建一个表数组,然后检查它是否存在:
$list_of_tables = array('myTable1', 'myTable2', 'myTable3');
if(!in_array($db_Table, $list_of_tables){
//table does not exist !
}
Yu不能在准备好的语句中使用表名、字段名或其他标识符作为变量。您需要通过连接或替换标识符来构建基本查询,然后
prepare
该结果。是的,但这一个也不起作用:$pdo->prepare(“INSERT INTO$db_Table
)。这个解决方案怎么样:这不会有帮助,因为您正在使用pdo