PHP bind_param не определен

Я работаю в MAMP, пытаясь сделать функцию входа в систему.
Мой код подключения:

$servername = "localhost"; $username = "root"; $password = "root"; $db = "world"; $mysqli = new mysqli($servername, $username, $password, $db); if($mysqli->connect_error){ die("Connection failed: " . $conn->connect_error); } 

Моя функция входа:

 if (isset($_POST['email'], $_POST['p'])){ $email = $_POST['email']; $password = $_POST['p']; //hashed password if(login($email, $password, $mysqli) == true){ header('Location: ../protected_page.php'); }else{ echo 'failed login'; } } function login($email, $password, $mysqli){ if($stmt = $mysqli->prepare("SELECT USERID, USERNAME, PASSWORD, SALT FROM USERS WHERE EMAIL = ? LIMIT 1")){ $stmt = $mysqli->bind_param('s', $email); $stmt->execute(); $stmt->store_result(); $stmt->bind_result($user_id, $username, $db_password, $salt); $stmt->fetch(); } 

Ошибка:

[17-Oct-2015 08:46:06 Европа / Берлин] PHP Неустранимая ошибка: вызов неопределенного метода mysqli :: bind_param () в /Users…/Site/include/functions.php в строке 24

Related of "PHP bind_param не определен"

Вам нужно вызвать bind_param для вашего утверждения, например:

 $stmt->bind_param('s', $email); 

Вы уже определили $stmt одну строку до этого. $mysqli не имеет функции bind_param .

http://php.net/manual/en/mysqli-stmt.bind-param.php

Из руководства вы можете видеть, что это не метод объекта mysqli, а объект mysqli_stmt.

Вы также уничтожаете объект mysqli_stmt при запуске $stmt = $mysqli->bind_param('s', $email);