我是PHP新手。我有一个API,它具有如下所示的大多数功能
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;
}
在我的其中一台具有 namecheap 且已启用nd_mysqli
的主机中,它可以正常工作。但是在我的 hostgator 托管中,它给出了错误。
未捕获的错误:调用未定义方法mysqli_stmt :: get_result()
我无法在Hostgator中启用该扩展名,因此我希望将其替换为here或其他方式的答案。
但是我不知道该怎么做。
答案 0 :(得分:0)
因此,如果MySQL本机驱动程序(mysqlnd)驱动程序不可用,因此使用bind_result和fetch而不是get_result,代码将变为:
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\n", $col1, $col2);
}
/* close statement */
$stmt->close();
}