Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是Zend_Db_表的摘要->;insert()函数是否安全?_Php_Mysql_Zend Framework_Sql Injection_Zend Db - Fatal编程技术网

Php 是Zend_Db_表的摘要->;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的引号(通常不使用)

我正在使用Zend_Db_Table_Abstract中的insert()函数


插入的数据是用户输入的,因此我很好奇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;