php - 动态更改 PDO 语句中的列名

标签 php mysql pdo prepared-statement

<分区>

是否可以在准备好的 MySQL 语句中将列名作为参数传递?举个例子:

UPDATE Images
SET :placement = :imageURL
WHERE ID = :titleID;

PDO 在每个参数周围添加了',所以上面的中间一行变成:

SET 'Homepage' = '1.jpg'

MySQL 不喜欢哪个。有没有办法在 PDO 语句中包含字段名的参数并接受它们?

否则我想我将不得不编写几个不同的 PDO 语句,具体取决于所选择的内容(?)。

最佳答案

你需要做这样的事情:

$column = 'someColumn';

$stmt = $db->prepare("UPDATE tableName SET {$column} = :columnValue WHERE ID = :recordId");

参数化占位符仅用于值。

我建议您阅读@YourCommonSense 针对您的问题发表的评论。

关于php - 动态更改 PDO 语句中的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885091/

相关文章:

mysql - 使用 WHERE 子句过滤 SQL SELECT 语句

MYSQL 100000 次更新

MySQL 错误 150

php - 使用数组循环进行 PDO 插入

php - 如何检查所选日期是否在开始和结束之间?

php - 将多行发送到一封电子邮件

php - 防止包含的 htm 页面在父 php 页面之外加载

php - 将 & 号插入 MySQL 的问题

php - Telegram bot API 自定义键盘 - 如何制作垂直按钮列表?

javascript - 包括 php 菜单,将事件类分配给单击的链接