加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 哪些令牌可以在PDO预处理语句中参数化?

发布时间:2020-12-13 13:36:31 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 PHP / PDO中的预处理语句.基本查询工作正常,将值传递给WHERE子句: $stmt = $db-prepare( 'SELECT title FROM episode WHERE id=:id' );$stmt-bindParam( ':id',$id,PDO::PARAM_INT );$id = 5;$stmt-execute(); 但是我有一种情况需要为字段名称传
我正在使用 PHP / PDO中的预处理语句.基本查询工作正常,将值传递给WHERE子句:
$stmt = $db->prepare( 'SELECT title FROM episode WHERE id=:id' );
$stmt->bindParam( ':id',$id,PDO::PARAM_INT );
$id = 5;
$stmt->execute();

但是我有一种情况需要为字段名称传递变量.此查询(具有适当的绑定)工作正常:

SELECT :field FROM episode WHERE id=:id

这个给出了一个错误:

SELECT title FROM :field WHERE id=:id

这个没有给出错误,但没有返回任何行:

SELECT title FROM episode WHERE :field=:id

那么,准备好的陈述中哪些东西应该有效呢?我可以’参数化’字段名称,表名等吗?

您不能参数化IN子句中的表名,列名或任何内容(感谢 pointing out the IN clause restriction的c0r0ner).

见this question,随后是this comment in the PHP manual.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读