设为首页收藏本站
查看: 86|回复: 0

[PHP] zendframework中字段自加updatetableset语句

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2014-3-27 00:19:00 | 显示全部楼层 |阅读模式
    在zendframework中使用Db类时,框架会自动给sql语句添加引号以防止数据库攻击,也就是说
    update table set a = a+1 会别解析为 update table set a = 'a+1'  这当然得不到正确的结果,解决办法如下:
    $oid = $this->getRequest()->getParam('option');
    $vote = new Vote();
    $db = $vote->getAdapter();
    $set = array('optionNum' => new Zend_Db_Expr('optionNum+1'));
    $where = $db->quoteInto('oid = ?',$oid);
    $affected_rows = $vote->update($set, $where);
    Zend_Db_Expr这个类的作用是去掉对要转化的类型进行添加引号的操作!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表