致命错误:在第 24 行的演示.php中调用未定义的方法 mysqli_stmt::get_result()


Fatal error: Call to undefined method mysqli_stmt::get_result() in demo.php on line 24

也许这个问题是重复的。 但我找不到我问题的答案。我遇到了这个问题Fatal error: Call to undefined method mysqli_stmt::get_result() in demo.php on line 24第 24 行位于代码的这一部分$tasks = $stmt->get_result();

这是我的演示.php代码。

<?php
/**
 * Class to handle all db operations
 * This class will have CRUD methods for database tables
 *
 * @author Ravi Tamada
 * @link URL Tutorial link
 */
class Demo {
    private $conn;
    function __construct() {
        require_once dirname(__FILE__) . '/include/db_connect.php';
        // opening db connection
        $db = new DbConnect();
        $this->conn = $db->connect();
    }
    public function getAllChatRooms() {
        $stmt = $this->conn->prepare("SELECT * FROM chat_rooms");
        $stmt->execute();
        $tasks = $stmt->get_result();
        $stmt->close();
        return $tasks;
    }
    public function getAllUsers() {
        $stmt = $this->conn->prepare("SELECT * FROM users");
        $stmt->execute();
        $tasks = $stmt->get_result();
        $stmt->close();
        return $tasks;
    }
    public function getDemoUser() {
        $name = 'AndroidHive';
        $email = 'admin@androidhive.info';
        $stmt = $this->conn->prepare("SELECT user_id from users WHERE email = ?");
        $stmt->bind_param("s", $email);
        $stmt->execute();
        $stmt->store_result();
        $num_rows = $stmt->num_rows;
        if ($num_rows > 0) {
            $stmt->bind_result($user_id);
            $stmt->fetch();
            return $user_id;
        } else {
            $stmt = $this->conn->prepare("INSERT INTO users(name, email) values(?, ?)");
            $stmt->bind_param("ss", $name, $email);
            $result = $stmt->execute();
            $user_id = $stmt->insert_id;
            $stmt->close();
            return $user_id;
        }
    }
}
?>

在我的索引中.php我有调用函数的代码。这是示例代码

<?php
$chatrooms = $demo->getAllChatRooms();
foreach ($chatrooms as $key => $chatroom) {
    $cls = $key == 0 ? 'selected' : '';
    ?>
    <li id="<?= $chatroom['chat_room_id'] ?>" class="<?= $cls ?>">
        <label><?= $chatroom['name'] ?></label>
        <span>topic_<?= $chatroom['chat_room_id'] ?></span>
    </li>
    <?php
}
?>

请帮助我构造此代码。

谢谢。

您需要安装 mysqlnd 支持。(MySQL 本机驱动程序)

你可以将你的函数替换为波纹管我遇到像你这样的问题,但这会解决,请尝试一下谢谢

public function getAllChatRooms() {
  $query = "SELECT chat_room_id, name, created_at FROM chat_rooms WHERE 1";
    if ($result = mysqli_query($this->conn, $query)) {
       return $result;
        mysqli_free_result($result);
    }
 }
public function getAllUsers() {
   $query = "SELECT user_id, name, email, gcm_registration_id, created_at FROM users WHERE 1";
    if ($result = mysqli_query($this->conn, $query)) {
       return $result;
        mysqli_free_result($result);
    }
}