这是一种方式,但你应该使用 ? 用于防止 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()
如果您想要 or 代替 and:
$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 使用 fluent 影响,您也可以这样写:
$select=new Zend_Db_Select($db);
$select->from('users','*')
->joinInner('rest', 'users.repository = rest.id', array('username'))
->where('username = ?' $rest)
->where('sold = ?', 0);