【问题标题】:setting mysql user-defined variable with query-builder使用查询生成器设置 mysql 用户定义的变量
【发布时间】:2012-04-21 20:41:45
【问题描述】:

我在使用 codeigniter 设置 mysql 用户定义变量时遇到问题。如何将 SET 与 CI 查询生成器一起使用?

SET @weekVideoCount := (SELECT COUNT(*) FROM videos v );

SELECT @weekVideoCount;

当我在 Sqlyog 上执行此查询时,结果将成功显示,但如果我像这样在模型中调用此查询

function getWeeklyUserData(){
        $query= $this->db->query("SET @weekVideoCount := (SELECT COUNT(*) FROM videos v);
                                SELECT @weekVideoCount;
                                ");
        return $query->result();
    }

错误已产生

【问题讨论】:

    标签: php mysql codeigniter variables


    【解决方案1】:

    尝试分离查询

     $this->db->query("SET @weekVideoCount := (SELECT COUNT(*) FROM videos v)");
     $query= $this->db->query("SELECT @weekVideoCount");
    

    【讨论】:

    • 仅供参考,这也可以SELECT @rn:=@rn+1 AS rank FROM (SELECT (SELECT @rn:=0) )
    【解决方案2】:

    你应该知道 $this->db->query() 只执行一条 sql 语句,就像 mysql_query 一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      相关资源
      最近更新 更多