PHP система входа в систему работает на локальном компьютере, но не работает на Hostgator PHP 7.1. Мой локальный PHP 7.2
Я создал полностью работающий портал на моей локальной машине. Я могу CRUD на моей локальной машине. Как только я размещаю его на сервере в сети, система входа не работает. Я по-прежнему могу регистрировать новых пользователей, поскольку информация о пользователях заполняется в БД, так что это не проблема конфигурации БД. Я получаю эти ошибки:
Предупреждение: mysqli_stmt_bind_param (): Количество переменных не соответствует количеству параметров в подготовленном операторе в .....
Неустранимая ошибка: Uncaught Ошибка: вызов неопределенной функции mysqli_stmt_get_result () в ....
Я потратил 5 часов, пытаясь выяснить, почему она не будет работать на сервере Hostgator, но будет работать на моем локальном компьютере.
Вот мой код:
if(isset($_POST['loginSubmit'])){
//include connection configs
require '../../db_configs.php';
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
if(empty($email || $password )){
header("Location: ../../../portalSignIn.php?signin=fieldsempty");
exit();
}
else
{
//user email query
$sqlEmail = "SELECT * FROM users WHERE email='$email'";
$emailResult = mysqli_query($conn, $sqlEmail);
$stmt = mysqli_stmt_init($conn);
//SQL Error
if(!mysqli_stmt_prepare($stmt, $sqlEmail)){
header("Location: ../../../portalSignIn.php?signin=SQL_FAILED");
exit();
}
if(mysqli_num_rows($emailResult) == 0){
//email doesn't exist
header("Location: ../../../portalSignIn.php?signin=incorrectemail");
exit();
}
else
{
//bind data if email exists
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if($row = mysqli_fetch_assoc($result)){....
В этот момент он ломается -> mysqli_stmt_bind_param($stmt, "s", $email);
Я изучил https://www.plus2net.com/php_tutorial/mysqli_mysqlnd.php и Hostagtor не имеет этих настроек. И я успешно использовал mysqli_stmt_bind_param()
на странице регистрации.