php自定义类mysqli中的prepare语句出错

php自定义类mysqli中的prepare语句出错,php,mysql,mysqli,prepared-statement,Php,Mysql,Mysqli,Prepared Statement,请记住我是新的OOP和mysqli这是我的数据库连接php自定义类 class mysqldbconnect { protected $mysqli; public function __constructor() { $this->mysqli = new mysqli('localhost','root','','todo'); } public function select_query() {

请记住我是新的
OOP
mysqli
这是我的数据库连接php自定义类

class mysqldbconnect {
        protected $mysqli;
        public function __constructor() {
            $this->mysqli = new mysqli('localhost','root','','todo');
        }
        public function select_query() {
            $stmt = $this->mysqli->prepare("SELECT * FROM dos");
            $stmt->execute();
            $stmt->bind_result($id,$task,$sday,$lday,$des);
            $stmt->store_result();
            $count = $stmt->num_rows();
            if ( $count > 0 )
            {
                while ( $stmt->fetch()) {
                    echo $task." ".$sday." ".$lday." ".$des;
                }
            } else {
                echo "Nothing to do :) its great..";
            }
        }
    }
在这条线上

    $stmt = $this->mysqli->prepare("SELECT * FROM dos");
我发现以下错误

    Fatal error: Call to a member function prepare() on a non-object
我在
select\u query
函数中尝试了
var\u dump
函数,以检查
$this-.mysqli
及其返回的NULL,因此错误现在明显存在,我不知道如何删除此错误?。
请帮帮我,我知道这是个愚蠢的问题

我看到的这段代码的最大问题是没有构造函数

它应该是
public function\uuu construct(){
而不是
\uu constructor


也就是说,您应该进行一些错误检查,以确保mysqli对象已成功创建。

我看到的这段代码的最大问题是您没有构造函数

它应该是
public function\uuu construct(){
而不是
\uu constructor


也就是说,您应该执行一些错误检查,以确保mysqli对象已成功创建。

您要调用的代码是什么?$db=new mysqldbconnect();$db->select_query();@perry您要调用的代码是什么?$db=new mysqldbconnect();$db->select_query()@PerryVery在这里很常见,而且总是很难发现,也很难调试。同意。有另一双眼睛看它总是很好的:)另一只眼睛是当一个OP有
\uu构造时-,那一只总是需要我一分钟的时间来理解。谢谢@mitu16先生,这是我现在最大的错误,一切都在工作:)对于其他人来说,在corr之后把构造器连接到构造器现在一切都很好,在这里很常见,而且总是很难发现,也很难调试。同意。有另一双眼睛看着它总是很好:)另一个是当一个OP有
\u构造器
--这总是需要我一分钟才能理解。谢谢长官@mituw16,这真是太棒了我没有错,现在所有的东西都在工作:)对其他人来说,在将构造函数改为构造之后,现在所有的东西都在完美地工作