php - 调用未定义的方法mysqli_stmt::get_result

标签 php mysqli

这是我的代码:

include 'conn.php';
$conn = new Connection();
$query = 'SELECT EmailVerified, Blocked FROM users WHERE Email = ? AND SLA = ? AND `Password` = ?';
$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);
$stmt->execute();
$result = $stmt->get_result();

我在最后一行收到以下错误:调用未定义的方法mysqli_stmt::get_result()

这是conn.php的代码:
define('SERVER', 'localhost');
define('USER', 'root');
define('PASS', 'xxxx');
define('DB', 'xxxx');
class Connection{
    /**
     * @var Resource 
     */
    var $mysqli = null;

    function __construct(){
        try{
            if(!$this->mysqli){
                $this->mysqli = new MySQLi(SERVER, USER, PASS, DB);
                if(!$this->mysqli)
                    throw new Exception('Could not create connection using MySQLi', 'NO_CONNECTION');
            }
        }
        catch(Exception $ex){
            echo "ERROR: ".$e->getMessage();
        }
    }
}

如果我写这行:
if(!stmt) echo 'Statement prepared'; else echo 'Statement NOT prepared';

它打印'未准备的声明'。如果我直接在IDE中运行查询替换?用值标记,效果很好。请注意,$ conn对象在项目中的其他查询中可以正常工作。

请帮忙.......

最佳答案

请阅读此方法的用户说明:

http://php.net/manual/en/mysqli-stmt.get-result.php

它需要mysqlnd驱动程序...如果未在您的网站空间中安装它,则必须使用BIND_RESULT&FETCH!

https://secure.php.net/manual/en/mysqli-stmt.bind-result.php

https://secure.php.net/manual/en/mysqli-stmt.fetch.php

关于php - 调用未定义的方法mysqli_stmt::get_result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61901285/

相关文章:

php - 将数组键设置为另一个数组值的值 - PHP

php - 无法使用 XAMPP 和 PHP 7.3.0 配置 Xdebug

空格时 PHP 复制命令失败?

php - 如何在 PHP 中以编程方式验证 Tether (TRC20) 钱包地址?

php - 如何在 PHP 中显示取决于用户输入的长查询的 MySQL 错误?

php - MySQLI 问题

php - 如何编写查询来查找不属于所选字段的记录?

php - 在使用相同脚本提交时从 html 表单发送带有 PHP 的电子邮件

php - 如何使用 mysql 在 android 中更改密码(注册和登录工作正常,但更改密码时出现问题)

php - 扩展的 mysqli 类中的慢父::__construct