我是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()in
我无法在Hostgator中启用该扩展,因此我想用here或其他方式写的答案替换它。
但我不知道如何做到这一点。
因此,如果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();
}