gpt4 book ai didi

php - Opencart:报告模型中的 MySQL 查询未从数据库检索数据

转载 作者:行者123 更新时间:2023-11-29 08:27:15 25 4
gpt4 key购买 nike

我不确定这是 Opencart 相关问题还是只是 PHP/MySQL 问题。

admin/model/report/test_module.php中,这就是我所拥有的:

class ModelReportTestModule extends Model {
public function getData($data = array()) {
$sql = "SELECT * FROM ". DB_PREFIX . "test_module";

if (!empty($data['filter_group'])) {
$sql .= " WHERE url = '" . $this->db->escape($data['filter_group']) . "'";
}

if (!empty($data['filter_date_start'])) {
$sql .= " AND date >= '" . $this->db->escape($data['filter_date_start']) . "'";
}

if (!empty($data['filter_date_end'])) {
$sql .= " AND date <= '" . $this->db->escape($data['filter_date_end']) . "'";
}


$result = $this->db->query($sql);
return $result->rows;
}
}

$data传入上面的函数包含一个数组,如下所示:

Array ( [filter_date_start] => 2013-07-10 [filter_date_end] => 2013-07-12 [filter_group] => http://localhost/oc-1.5.5.1/index.php?route=product/category&path=18 )

在数据库中,值以以下格式存储:

date(datetime): 2013-07-11 09:41:17
url(text): http://localhost/oc-1.5.5.1/index.php?route=product/category&path=18

如果我直接在 phpMyAdmin 的 SQL 控制台中运行下面的查询,它会正常工作并给出正确的行:

SELECT * FROM `oc_test_module` WHERE
`url` = 'http://localhost/oc-1.5.5.1/index.php?route=product/category&path=18' and
`date_time` >= '2013-07-10' and
`date_time` <= '2013-07-12';

但是,当我在报表模型中尝试它时,它无法检索任何内容,这与 SQL 查询的作用几乎相同。我花了几个小时但无法弄清楚我错过了什么。也许是一些我看不到的微不足道的事情。

最佳答案

解决这个问题的最简单方法是在之前的行上执行var_dump($sql);

$result = $this->db->query($sql);

然后在 PHPMyAdmin 中调试它。它可能是一些微不足道的事情,例如查询中的 && 。如果不能立即看出导致问题的原因,请在工作查询和非工作查询之间使用区分工具

关于php - Opencart:报告模型中的 MySQL 查询未从数据库检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com