mysql 错误当尝试得到表从dbase

9vw9lbht  于 2023-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(131)

我有一个名为“promotion_map”的数据库。map of table
我试图从这个数据库中获取数据,但在执行以下命令时无法正常工作:
$tpl->assign('prom_maps', $prom_maps->getPromotionMap());
函数getPromotionMap()在其他php文件中定义:

<?php
require_once("../common/qDB3.class.php");

class PromotionMap extends QDB3{
    function PromotionMap($DB){
        $this->tableName = "promotion_map";
        $this->indexField = "id";
        $this->d = array(
            "id"=>"",
            "promotion_id"=>"",
            "type"=>"",
            "period"=>"",
            "name"=>"",
            "duration"=>"",
            "fee"=>"",
        );
        $this->QDB3($DB);
    }

    function getPromotionMap() {
        return $this->DB->getAssoc("SELECT * FROM `{$this->tableName}`");
    }

    function getPromotionMap($id) {
        $id = (int) $id;
        return $this->DB->getRow("SELECT * FROM `{$this->tableName}` WHERE `id` = ?", [$id]);
    }

};

我做错了什么?
我希望从表中获取表"promotion_map"

ig9co6j1

ig9co6j11#

PromotionMap类包含两次getPromotionMap()方法的定义,这违反了PHP规则。
你可以像下面这样重命名第二个方法

function getPromotionMapById($id) {
        $id = (int) $id;
        return $this->DB->getRow("SELECT * FROM `{$this->tableName}` WHERE `id` = ?", [$id]);
}

以便可以使用第一个方法getPromotionMap()从数据库中获取数据

相关问题