duanruinong0619 2013-06-06 16:11
浏览 34
已采纳

php覆盖方法并调用覆盖

I know this can be avoided with just using another method name but I was curious as to if the following was possible.

I have this class: ( of course it has some more methods but they aren't relevant to the question )

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;
        }
    }
}

What I wanna do is call the original mysqli query() method from within the query() method I created. Is it possible or I shall get started renaming?

And also I'd like to point out that this is purely for development use, I know users aren't supposed to see sql errors. Reason I want to do this is that today I needed to change a table column name from id to vid, then my whole system stopped working and I spent 30 minutes researching, I'd just like to prevent that in future.

  • 写回答

3条回答 默认 最新

  • dphs48626 2013-06-06 16:14
    关注

    Change

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

    To

    $sql = parent::query($sql);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写