我想在 mysql 查询中安全地使用我的变量。我为此使用 pdo 。但我不能使用 pdo 占位符作为表名。
这有效;
$stmt = $db->prepare("SELECT * FROM table WHERE id=?");
$stmt->execute(array($id));
但这不是;
$stmt = $db->prepare("SELECT * FROM ? WHERE id=?");
$stmt->execute(array($table, $id));
我做错了什么?
最佳答案
就这么做
$stmt = $db->prepare("SELECT * FROM ".$table." WHERE id=?");
$stmt->execute($id);
不能在表格中使用占位符
这应该不是问题,因为表名应该由您控制。
关于php - 如何通过 PDO 在 Mysql 查询中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33648431/