开发者社区> 问答> 正文

php里用PDO的prepare,为什么不能替换表名称??报错

下面这条语句报错:

$sm = $db -> prepare('UPDATE ? SET status = ? WHERE id = ?;');

这是报错信息

array (size=3)
  0 => string 'HY000' (length=5)
  1 => int 1
  2 => string 'near "?": syntax error' (length=22)

同样的语句

UPDATE items SET status = ? WHERE id = ?;
这就没有问题

展开
收起
爱吃鱼的程序员 2020-06-22 21:39:10 541 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    表名是字符串,高贵的perpare会做转义处理,并加上引号 <imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/0.gif"alt=""/>

    2020-06-22 21:39:27
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载