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

标签 php mysql mysqli prepared-statement

请耐心等待我是 OOPmysqli 的新手,这是我用于数据库连接的 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_query 函数中尝试了 var_dump 函数来检查 $this-.mysqli 及其返回 NULL 所以错误显然是现在我可以'图如何删除此错误?。 请帮助我,我知道它的愚蠢问题。

最佳答案

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

应该是public function __construct() { 不是 __constructor

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

关于php - php自定义类mysqli中的prepare语句出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21099116/

相关文章:

mysql - 当日期存储为 varchar 时如何比较日期

php - 从用户插入的数据库中选择值时是否需要使用准备好的语句

php - 使用 mysqli 的数组到字符串错误

php - 发送带有图表的报告邮件

php - 将对象转换为数组 - 调用任何魔术方法?

php ffmpeg 3gp水印不起作用

mysql - 使用 JOOQ 调用返回多行的存储过程

PHP WebSocket : connection to MySQL server still on but not working

php - 如何解决 PHP 中不能使用字符串偏移量作为数组错误?

php - Perl CGI 脚本中 PHP 的 $_POST 的等价物是什么?我该如何使用它?