“=:”在SQL或DQL中是什么意思?
谢谢!
答案 0 :(得分:1)
这是对DQL中参数绑定的引用。
请注意,数字占位符以?开头?后跟一个数字,而命名的占位符以a开头:后跟一个字符串。
然后必须使用->setParameter()
方法设置参数。
$qb->select('u')
->from('User', 'u')
->where('u.id = :identifier')
->orderBy('u.name', 'ASC')
->setParameter('identifier', 100); // Sets :identifier to 100, and thus we will fetch a user with u.id = 100
使用Doctrine时这是良好做法,因为它更安全并且阻止了SQL注入。