根據 DBAL 文檔,只有 setFirstResult 和 setMaxResults 這兩種方法被設計為對 SQL 注入是安全的。但是在QueryBuilder部分,他們提到要安全地使用QueryBuilder,我們必須使用setParameter方法傳遞用戶輸入。所以我看到了2種方法來做到這一點,但我不知道它們是否有真正的區別:方式1:$qb->select('USR_id', 'USR_email')->from('T_user_USR')->where('USR_email = ? ')->setParameter(0, $email);$stmtQb = $qb->execute();$results = $stmtQb->fetchAll();方式 2 :$qb->select('USR_id', 'USR_email')->from('T_user_USR')->where('USR_email = ? ');$stmtQb = $dbal->prepare($qb->getSQL());$stmtQb->bindValue(1, $email);$stmtQb->execute();$results = $stmtQb->fetchAll();最好的方法是什么?提前致謝
- 1 回答
- 0 關注
- 111 瀏覽
添加回答
舉報
0/150
提交
取消