我正在开发一个允许用户输入mySQL中的VARCHAR(255)字段的应用程序,因此安全性是一个主要问题.
我无法理解quote().如果我使用quote('test'),数据在SELECT上返回'\'test \'',这是不可取的.如何取消引用此数据?
如果我绕过quote(),我可以查看phpmyadmin并看到'test',所以Zend似乎并没有自动转发引号...
我的代码看起来像这样:
public function getDbTable() {
if (null === $this->_dbTable) {
$this->setDbTable(new Zend_Db_Table($this->_tableName));
}
return $this->_dbTable;
}
private function insert($anObject) {
$row['cell1'] = $anObject->getCell1();
$row['cell2'] = $anObject->getCell2();
$this->getDbTable()->insert($row);
}
在插入和更新时,我应该在$ anObject-> getCell1()等周围使用quote()吗?