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

前端之家收集整理的这篇文章主要介绍了php – 哪些令牌可以在PDO预处理语句中参数化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 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.

猜你在找的PHP相关文章