それは 1 つの方法ですが、 ? を使用する必要があります。SQL インジェクションから保護するための変数のプレースホルダー:
$select=new Zend_Db_Select($db);
$select->from('users','*');
$select->joinInner('rest', 'users.repository = rest.id', array('username'));
$select->where('username = ? and sold=0', $rest);
(これが PHP 変数に由来することもある場合は、'sold' についても同じことを行います。)
where()
複数の呼び出しを持つ where 句をチェーンすることもorWhere()
、and の代わりに or が必要な場合:
$select=new Zend_Db_Select($db);
$select->from('users','*');
$select->joinInner('rest', 'users.repository = rest.id', array('username'));
$select->where('username = ?' $rest);
$select->where('sold = ?', 0);
Zend_Db_Select は流暢な影響を使用するため、次のように記述することもできます。
$select=new Zend_Db_Select($db);
$select->from('users','*')
->joinInner('rest', 'users.repository = rest.id', array('username'))
->where('username = ?' $rest)
->where('sold = ?', 0);