Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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 SQL到CodeIgniter阵列缺少数据问题_Php_Sql_Mysql_Arrays_Codeigniter - Fatal编程技术网

Php SQL到CodeIgniter阵列缺少数据问题

Php SQL到CodeIgniter阵列缺少数据问题,php,sql,mysql,arrays,codeigniter,Php,Sql,Mysql,Arrays,Codeigniter,查询在phpMyAdmin中运行时运行良好,并在附加的图像中返回完整的结果。但是,在CodeIgniter中打印数组时,它在phpMyAdmin中运行的SQL查询中没有一个字段的值,七个利润,只是这一字段中的差异,从SQL到php数组。。。我只是不明白,为什么在打印数组时,一个字段(其值应为26)不包含任何内容?有什么想法吗?我将字段名从以数字开头改为试图修复它,但没有区别 我知道这很复杂,看起来很可怕,任何帮助或只是遇到类似情况的人都很想知道,谢谢 萨姆 编辑:查询的格式要更规范一些: $qu

查询在phpMyAdmin中运行时运行良好,并在附加的图像中返回完整的结果。但是,在CodeIgniter中打印数组时,它在phpMyAdmin中运行的SQL查询中没有一个字段的值,七个利润,只是这一字段中的差异,从SQL到php数组。。。我只是不明白,为什么在打印数组时,一个字段(其值应为26)不包含任何内容?有什么想法吗?我将字段名从以数字开头改为试图修复它,但没有区别

我知道这很复杂,看起来很可怕,任何帮助或只是遇到类似情况的人都很想知道,谢谢

萨姆

编辑:查询的格式要更规范一些:

$query = $this->db->query("SELECT t1.numberofbets, t1.profit, t2.seven_profit, t3.28profit, user.user_id, username, password, email, balance, user.date_added, activation_code, activated FROM user LEFT JOIN (SELECT user_id, SUM(amount_won) AS profit, count(tip_id) AS numberofbets FROM tip GROUP BY user_id) as t1 ON user.user_id = t1.user_id LEFT JOIN (SELECT user_id, SUM(amount_won) AS seven_profit FROM tip WHERE date_settled > '$seven_daystime' GROUP BY user_id) as t2 ON user.user_id = t2.user_id LEFT JOIN (SELECT user_id, SUM(amount_won) AS 28profit FROM tip WHERE date_settled > '$twoeight_daystime' GROUP BY user_id) as t3 ON user.user_id = t3.user_id where activated = 1 GROUP BY user.user_id ORDER BY user.date_added DESC");

return $query->result_array();

好的,问题是SQL查询包含PHP变量,这些变量必须被视为0或其他没有给出错误的变量,因此它在seven_price列中显示一个值

在CodeIgniter中运行查询时,它使用$seven_daystime变量的正确值,因此将数据放入数组时结果不同


/归咎于疲劳

我建议您设置查询格式,以便其他人和您可以阅读。这样可能更容易发现问题。
$query = $this->db->query("
  SELECT
    t1.numberofbets, t1.profit, t2.seven_profit, t3.28profit,
    user.user_id, username, password, email,
    balance, user.date_added, activation_code, activated
  FROM
    user
  LEFT JOIN
    (
      SELECT
        user_id,
        SUM(amount_won) AS profit,
        count(tip_id) AS numberofbets
      FROM
        tip
      GROUP BY
        user_id
    ) as t1
  ON
    user.user_id = t1.user_id
  LEFT JOIN
    (
      SELECT
        user_id,
        SUM(amount_won) AS seven_profit
      FROM
        tip
      WHERE
        date_settled > '$seven_daystime'
      GROUP BY
        user_id
    ) as t2
  ON
    user.user_id = t2.user_id
  LEFT JOIN
    (
      SELECT
        user_id,
        SUM(amount_won) AS 28profit
      FROM
        tip
      WHERE
        date_settled > '$twoeight_daystime'
      GROUP BY
        user_id
    ) as t3
  ON
    user.user_id = t3.user_id
  WHERE
    activated = 1
  GROUP BY
    user.user_id
  ORDER BY
    user.date_added DESC
");