Php 是Zend_Db_表的摘要->;insert()函数是否安全?
我正在使用Zend_Db_Table_Abstract中的insert()函数Php 是Zend_Db_表的摘要->;insert()函数是否安全?,php,mysql,zend-framework,sql-injection,zend-db,Php,Mysql,Zend Framework,Sql Injection,Zend Db,我正在使用Zend_Db_Table_Abstract中的insert()函数 插入的数据是用户输入的,因此我很好奇ZF是否为我进行数据清理,或者我是否应该在调用insert()函数之前自己进行清理。Zend_Db insert方法清理发送的参数 当您需要将引号(quote(),quoteInto())与Zend\u Db\u表一起使用时: 插入(否) 更新(是) 删除(是) 直接使用适配器使用SQL查询(是) 使用带有Zend\u Db\u Table\u Select的引号(通常不使用)
插入的数据是用户输入的,因此我很好奇ZF是否为我进行数据清理,或者我是否应该在调用insert()函数之前自己进行清理。Zend_Db insert方法清理发送的参数 当您需要将引号(
quote()
,quoteInto()
)与Zend\u Db\u表一起使用时:
插入
(否)
更新
(是)
删除
(是)
- 直接使用适配器使用SQL查询(是)李>
使用带有Zend\u Db\u Table\u Select的引号(通常不使用);确保检查查询的输出
Zend_Db()的作者之一给出了一个很好的答案。不完全正确_表->更新()。。。“注意:SQL表达式中的值和标识符不为您引用。如果您有需要引用的值或标识符,则由您负责。请使用数据库适配器的quote()、quoteInto()和quoteIdentifier()方法。”非常感谢您提供的信息(更新)。顺便说一句,您不必在update函数中使用Zend_Db_Expr()(例如,新的Zend_Db_Expr('CURDATE()'))
感谢大家的帮助。我已经更新了我的DbTable类,所以每当我查询文本字段时,我首先运行:$data=$this->\u db->quote($data);此外,整数变成:$data=(int)$data;