Cant login: mysqli_query () ожидает как минимум 2 параметра, 1

У меня есть сценарий входа в систему, который больше не работает. Это как-то связано с новым mysqli. Поэтому я заменил mysql-запрос на mysqli, но все равно получаю ошибки:

if (empty($errors)){ $query = "SELECT id, username "; $query .= "FROM users "; $query .= "WHERE username = '{$username}' "; $query .= "AND hashed_password = '{$hashed_password}' "; $query .= "LIMIT 1"; $result_set = mysqli_query($query); confirm_query($result_set); if (mysqli_num_rows($result_set) == 1){ $found_user = mysqli_fetch_array($result_set); $_SESSION['user_id'] = $found_user['id']; $_SESSION['username'] = $found_user['username']; redirect_to("faculty.php"); } else { $message = " Username / Password is incorrect."; } 

Это мой код, mysqli_query($query); это проблема. Когда я меняю его на mysqli_query($connection , $query); , Я больше не получаю ошибку, но получаю сообщение:

Имя пользователя / пароль неверно.

Когда это будет правильно.

Мой сценарий подключения:

 <?php require("constants.php"); $connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); if (!$connection){ die("Unable to connect to page"); } ?> <?php $db = mysqli_select_db($connection , "fm_cms"); if (!$db){ die("Unable to connect to Database"); } ?> <?php $db = mysqli_select_db($connection , "fm_cms"); if (!$db){ die("Unable to connect to Database"); } ?> 

MySQLI требует как соединения, так и запроса в параметрах.

 mysqli_query($con,$query); 

Полный практический:

 $Con = mysqli_connect(/* Connection Information here*/); $Result_Set = mysqli_query($Con,"SELECT ID FROM table"); 

В ответ на ваш обновленный вопрос, mysqli_select_db должен использоваться, когда вы хотите изменить текущую рабочую схему (базу данных). В этом случае, первоначально подключаясь к схеме, указанной в константе DB_NAME . Если вы не хотите менять схемы, но сохраняете то же самое. Затем удалите mysqli_select_db

и работающая конструкция Query MySQLi будет:

 $connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); $Query = mysqli_query($connection,"QUERY HERE"); if (!$connection){ die("Unable to connect to page"); } 

и в ответ; Я больше не получаю ошибку, но получаю сообщение: Имя пользователя / пароль неверно. когда это правильно .. Помогите пожалуйста!

Вам представляется это сообщение, потому что вы сказали PHP сделать это, так как ваш mysqli_num_rows возвращает false (из-за неправильной mysqli_query ) пронумерованные строки не будут равны 1, но будут интерпретироваться как 0 ( Возможная привязка )

Документация MySQLi Query