zoukankan      html  css  js  c++  java
  • 关于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 = array(
                        'id' => $this->getId(),
                        'status' => self::STATUS_CONFIRMED,
                        'confirmTime' => new Zend_Db_Expr('NOW()')
                );
                $this->save($data);

  • 相关阅读:
    短信
    solr测试用的配置
    中文词启动
    配置域
    applicationContext-redis.xml
    Redis端口配置
    springDataRedis 依赖
    FastDFSClient上传图片工具类
    security 页面测试
    PHP图片压缩功能(按比例图片缩放)(转载)
  • 原文地址:https://www.cnblogs.com/eterwei/p/3761015.html
Copyright © 2011-2022 走看看