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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |