我需要知道是否可以在 PDO 准备语句中使用问号 ( ?
) 作为表名。
$table = $_POST['table'];
$id = $_POST['id'];
$sql = "UPDATE ? SET priority = priority + 1 WHERE id = ?";
$q = $db->prepare($sql);
$q->execute(array($table,$id));
我收到此错误:
警告:PDO::prepare() [pdo.prepare]: SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。SET 优先级 = 优先级 + 1 WHERE id = ?'