0

我知道只需使用另一个方法名称就可以避免这种情况,但我很好奇以下是否可行。

我有这门课:(当然它有更多的方法,但它们与问题无关)

class db extends mysqli {
    public function query($sql){
        $sql = $this->parent->query($sql);

        if($this->error){
            echo "<script>popup('SQL error bro!');</script>";
        }else{
            return $sql;
        }
    }
}

我想做的是从我创建的 query() 方法中调用原始的 mysqli query() 方法。有可能还是我将开始重命名?

而且我还想指出,这纯粹是为了开发使用,我知道用户不应该看到 sql 错误。我想这样做的原因是今天我需要将表列名称从 id 更改为 vid,然后我的整个系统停止工作,我花了 30 分钟研究,我只是想防止将来发生这种情况。

4

3 回答 3

1

改变

$this->parent->query($sql);

$sql = parent::query($sql);
于 2013-06-06T16:14:46.743 回答
1

您可以通过调用来调用超类的方法

parent::query();

另见: http ://www.php.net/manual/en/keyword.parent.php

于 2013-06-06T16:17:46.190 回答
1

可能但可能不是最佳实践:

parent::query($sql)
于 2013-06-06T16:14:33.783 回答