【发布时间】:2020-04-09 03:27:05
【问题描述】:
我继承了一个 MySQL 数据库,其字段名称如下:
'Profile is Subscribed ?' & 'Private ?'
这些无法更改,因为该表由企业内的不同系统使用。
但是,我想使用 PHP PDO 来更新这些记录。
例如:UPDATE Guests SET `Profile is Subscribed ?` = :subscribed, `Private ?` = :private WHERE intID = 123;
但是,当使用占位符时,我收到“混合名称和位置参数”错误消息。
是否有解决方法(不涉及重命名字段)?我可以避开问号吗(我试过“/?”,但没有区别)?
谢谢
【问题讨论】:
-
使用反引号圆形列和表名
-
EG
UPDATE Guests SET `Profile is Subscribed ?` = :subscribed, `Private ?` = :private WHERE intID = 123 -
列名已经在使用反引号。
-
您现在已经更新了问题中的代码。这是否意味着这不是您实际代码的复制/粘贴,而是在这里为我们重写?请不要那样做。始终发布实际代码。如果您想发布您尝试过的内容,请将其添加到问题中,但保留原始内容。
-
“您真的需要查看名称中没有问号的 100 多个字段吗?” - 一个最小的工作示例会有所帮助。还要检查您的数据库的排序规则。