1

我不知道quoteInto 与quote 有什么不同。

4

2 回答 2

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%' 
于 2012-08-03T08:24:30.843 回答
0

我不认为 quoteInto() 是最好的解决方案,因为它只转义特殊字符,并在其周围应用引号。转义通常有几个问题,例如您必须有规范列表。使用 DBMS 的字符并维护这个列表 - 你怎么知道 Zend 有这个 100% 完美的 DBMS 列表?在我看来,只有一个真正安全的解决方案 -> 使用参数化查询。

于 2014-03-02T13:31:23.393 回答