duancuisan2503
duancuisan2503
2019-03-27 03:17

未捕获的错误:调用未定义的方法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 dongyimeng3764 2年前

    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();
     }
    
    点赞 评论 复制链接分享

相关推荐