Короче, суть в чем. При вводе логина и паса которые лежат на БД в 'users', должно выдавать либо "Привет, [логин]" , либо "Не правильный логин или пасс". Проблема в том, что когда if( mysqli_num_rows( $count ) == 0 ) "Не правильный логин или пасс" выдает всегда. Помогите кто знает как решить, пожалуйста. P.S. С меня печенька Код (Text): <?php $con = mysqli_connect('127.0.0.1','root','123','test_db'); if( $con == false ) { echo "Не удалось соендиниться с сервером! <br>"; echo mysqli_connect_error(); exit(); } header('Content-Type: text/html; charset= utf-8'); $login = $_POST['login']; $password = $_POST['password']; $count = mysqli_query($con, "SELECT * FROM `users` WHERE 'login' = '$login' AND 'password' = '$password'"); if( mysqli_num_rows( $count ) == 0 ) { echo "Не правильный логин или пасс"; }else { echo 'Привет, ' . $login . '!'; }
у тебя вновь проблемы с кавычками и апострофами - прочита внимательно для чего конкретно их нужно использовать. в твоём случае: PHP: WHERE 'login' = '$login' должно быть PHP: WHERE `login` = '$login' ну и второе поле тоже. и ещё - в конце запроса лучше добавить LIMIT 1 т.к. в теории результатов может быть больше одоного) хотя всёравно отобразит лишь первый при любом раскладе, но нагрузка чуть меньше будет)
можно ещё так (но это не работает если используется зарезервированое слово в mysql) PHP: WHERE login = '$login'
представляешь, если ты не все кнопки на клавиатуре знаешь, то может стоит потрогать себя там, где раньше не трогал
Конкретно в вопрос вникать некогда, но на будущее рекомендую использовать только строгое сравнение (===, !==), т.к нестрогое чревато труднонаходимыми ошибками в перспективе.