おそらく非常に単純な問題があり、Zend Frameworkのマニュアルや他の場所で満足のいく(主観的に見られる)答えを見つけることができません...
php変数をsqlクエリに渡す方法はたくさんあるので、概要を失い、おそらく一般的な引用についての理解が不足しています。
プリペアドステートメント
$sql = "SELECT this, that
FROM table
WHERE id = ? AND restriction = ?";
$stmt = $this->_db->query($sql, array($myId, $myValue));
$result = $stmt->fetchAll();
このソリューションでは、dbがこれを処理するため、何も引用する必要がないことを理解しています。
APIを介したZend_Db_Tableおよび_Rowオブジェクトのクエリ
$ users = new Users();
a) $users->fetchRow('userID = ' . $userID);
b) $users->fetchRow('userID = ' . $users->getAdapter()->quote($userID, 'INTEGER'));
c) $users->fetchRow('userID = ?', $userID);
d) $users->fetchRow('userID = ?', $users->getAdapter()->quote($userID, 'INTEGER'));
質問
a)はまったく引用されていないため、問題がないことを理解しています。しかし、他のバージョンはどうですか、最高のものは何ですか?c)ステートメントのように扱われ、自動的に引用されますか、それともd)を使用するときに使用する必要がありますか?識別子?