我无法弄清楚quoteInto与quote的不同之处。
答案 0 :(得分:6)
quoteInto()
用于准备sql查询的数据。 quote()
函数仅引用可能终止字符串文字的内容,例如',“,\ 0等。
$sql = 'SELECT * FROM users WHERE enabled = ? AND country = ?';
$sql = $users->getAdapter()->quoteInto($sql, 1);
$sql = $users->getAdapter()->quoteInto($sql, 'UK');
//SELECT * FROM users WHERE enabled = 1 AND country = 'UK'
print $db->quote("%some'stuff%") . "\n";
// Output: '%some\'stuff%'
答案 1 :(得分:0)
我不认为quoteInto()是最好的解决方案,因为它只会转义特殊字符,并在其周围应用引号。逃逸通常有几个问题,例如你必须有规范列表。使用DBMS的字符并维护此列表 - 您如何知道Zend将此DBMS列表100%完美? 在我看来,只有一个真正安全的解决方案 - >使用参数化查询。