一尘不染

动态更改PDO语句中的列名[重复]

mysql

这个问题已经在这里有了答案

我可以使用PDO准备好的语句来绑定标识符(表或字段名)或语法关键字吗? (1个答案)

去年关闭。

是否可以在准备好的MySQL语句中将列名作为参数传递?请看以下示例:

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

PDO '在每个参数周围添加,因此上面的中线变为:

SET 'Homepage' = '1.jpg'

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

否则,我猜我将不得不编写一些不同的PDO语句,具体取决于选择的内容(?)。


阅读 301

收藏
2020-05-17

共1个答案

一尘不染

您将需要执行以下操作:

$column = 'someColumn';

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

参数化的占位符仅用于值。

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

2020-05-17