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 のリストを持っていることをどのように知っていますか?? 私の意見では、本当に安全な解決策は 1 つだけです -> パラメータ化されたクエリを使用します。

于 2014-03-02T13:31:23.393 に答える