duancuisan2503 2019-03-27 03:17
浏览 303
已采纳

未捕获的错误:调用未定义的方法mysqli_stmt :: get_result()in

I am new in PHP. I have got one API which have most of functions like below

function getUserByEmail($conn,$email)
    {
        $user = $conn->prepare("SELECT * FROM table_users WHERE email = ?");
        $user->bind_param("s", $email);
        $user->execute();
        $result = $user->get_result();
        $data = $result->fetch_assoc();
        $user->close();
        return $data;
    }

Its working fine in one of my hosting with namecheap which have nd_mysqli enabled. But in my hostgator hosting, its giving error.

Uncaught Error: Call to undefined method mysqli_stmt::get_result() in

I am unable to enable that extension in Hostgator so I want replace it with answers written here or other way.

But I am not getting idea how I can do it.

  • 写回答

1条回答 默认 最新

  • dongyimeng3764 2019-03-27 03:55
    关注

    bind result

    So if the MySQL Native Driver (mysqlnd) driver is not available, and therefore using bind_result and fetch instead of get_result, the code becomes:

    if ($stmt = $mysqli->prepare("SELECT col1,col2 FROM table_users WHERE email = ?")) {
        $stmt->bind_param("s", $email);
        $stmt->execute();
    
        /* bind variables to prepared statement */
        $stmt->bind_result($col1, $col2);
    
        /* fetch values */
        while ($stmt->fetch()) {
            printf("%s %s
    ", $col1, $col2);
        }
    
        /* close statement */
        $stmt->close();
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?