首页 > 代码库 > 关于zendframework中的Zend_Db_Expr(不自动加引号)
关于zendframework中的Zend_Db_Expr(不自动加引号)
在zendframework中使用Db类时,框架会自动给sql语句添加引号以防止数据库攻击 ,这就导致了一个问题,用户无法使用zend db类使用mysql的内置函数(方法,存储过程等)。好在zend框架提供了一个类Zend_Db_Expr,此类的构造函数会告诉框架不要对它所转化的类型进行添加引号的操作。
如:
$select=$db->select();
$select->from("testtable","*");
$select->where($db->quotInto("date>=?",new Zend_Db_Expr("UNIX_TIMESTAMP()"));
$db->fetchAll($select);
在上面的例子中,框架不会对UNIX_TIMESTAMP()添加引号,从而让用户能正常使用此函数
例子:
$data = http://www.mamicode.com/array(
‘id‘ => $this->getId(),
‘status‘ => self::STATUS_CONFIRMED,
‘confirmTime‘ => new Zend_Db_Expr(‘NOW()‘)
);
$this->save($data);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。