我很困惑框架何时自动引用以及何时不引用quote
个变量。例如,据我所知,它没有引用where
子句(除非你使用额外的参数?)。
是否有引导/备忘单引用我们必须在基本CRUD操作中手动quote
?
谢谢。
答案 0 :(得分:4)
对我来说,基本的“经验法则”如下:
"SELECT * from TABLE WHERE value=$value"
,您必须先引用它。$select->where('value = ?', $value');
或array('value' => $value)
之类的值数组,框架将为您引用值。希望它有所帮助,
答案 1 :(得分:2)
永远不要自己构建查询字符串,始终让Zend_Db为您完成。即,不要通过自己构建字符串来指定where子句(等):
$where = 'id = ' . $_REQUEST['id'] . ' and thing = ' . $_REQUEST['thing'];
$select->where($where);
而是这样做:
$select
->where('id = ?', $_REQUEST['id'])
->where('thing = ?', $_REQUEST['thing']);