Intereting Posts
Yii2 Как выполнить группировку условий AND или OR? Получение отрывка из HTML в PHP Используя DOMDocument, можно ли получить все элементы, которые существуют в пределах определенной DOM? Как указать значения по умолчанию в форме Symfony PHP IMAP отправляет уведомление по электронной почте на iPhone Переменная PHP Persist для всех запросов truncate string, но удалите середину строки вместо конца Различия и сходства между Люменом и Ларавелем Регулярное выражение PHP для надежной проверки пароля MySQL: не вставляйте новую строку, если определенные строки одинаковы Как обнаружить сайт, с которого пользователь пришел раньше моего в PHP? Классы PHP, почему используется общедоступное ключевое слово? Регулярное выражение для удаления чего-либо, кроме буквенно-цифровых и пробелов (в PHP) Добавить дату до имени файла перед копированием в php Создание / запись файла PHP в деструкторе

Вызов функции-члена bindParam () для не-объекта

Я работаю с входом в систему, который я нашел в Интернете. ( http://alias.io/2010/01/store-passwords-safely-with-php-and-mysql/ )

Когда я пытался заставить его работать, я наткнулся на эту ошибку:

bool (false) Неустранимая ошибка: вызов функции-члена bindParam () для не-объекта в /srv/disk3/1446018/www/askmephilosophy.co.nf/session.php в строке 25

Мой код:

<?php include('config.php'); // Establishing the connection: $MyConnection = mysqli_connect('hostname', 'user', 'pass', 'database') or die('An error has occured when you were trying to login. You can return to the main page by clicking: <a href="index.php">here</a>. <br /> If this error is consistent, please <a href="contact.php">contact us</a>.'); // Information provide by the user: $username = $_POST['username']; $password = $_POST['password']; // Text version. $StatementHandle = $MyConnection->prepare(' SELECT hash FROM Users WHERE username = :username LIMIT 1 '); var_dump($StatementHandle); $StatementHandle->bindParam(':username', $username); $StatementHandle->execute(); $user = $StatementHandle->fetch(PDO::FETCH_OBJ); // Hashing the password with its hash as the salt returns the same hash: if(crypt($password, $user->hash) == $user->hash) { echo 'You are logged in. Well, not actually. We only just confirmed that our system works. This service\'ll cost you $1'; } ?> 

ваш объект соединения – mysqli, вы должны использовать PDO для подключения mysql, например

 $dsn = 'mysql:dbname=testdb;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }