相关疑难解决方法(0)

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

这是我的代码:

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();
Run Code Online (Sandbox Code Playgroud)

我在最后一行得到错误:调用未定义的方法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 …
Run Code Online (Sandbox Code Playgroud)

php mysqli

107
推荐指数
9
解决办法
12万
查看次数

mySQLi预处理语句无法get_result()

我完全被mySQLi搞糊涂了.虽然我多年来一直在使用过程式mysql调用,但我想习惯为它提供的db security/mySQL注入保护编写预备语句.我正在尝试编写一个简单的select语句(是的,我知道为此提供性能增强的程序调用).运行时,我得到所有的回声,直到我击中$result = $stmt->get_result();组件.对我来说这一切看起来都相当简单,但是我在mySQLi阅读手册后不知所措.任何想法为什么会失败?

*注意:这是一个测试环境,虽然没有对字符进行消毒/转义,但我只将有效内容传递给变量$ username和$ email.而且,我已经看了很多,以找到我的问题的解决方案.

function checkUsernameEmailAvailability($username, $email) {
    //Instantiate mysqli connection
    @$mysqli = new mysqli(C_HOST,C_USER,C_PASS,C_BASE) or die("Failed to connect to MySQL database...");
    if (!$mysqli)
    {
        echo 'Error: Could not connect to database.  Please try again later...';
        exit;
    } else {
        echo 'mysqli created';
    }

    /* Create a prepared statement */   
    if($stmt = $mysqli -> prepare("SELECT username,email FROM tb_users WHERE username=? OR email=?")) {
        echo '<br />MYSQLi: ';

        /* Bind parameters s - string, b - …
Run Code Online (Sandbox Code Playgroud)

php mysqli prepared-statement

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysqli ×2

php ×2

prepared-statement ×1