Intereting Posts
Есть ли способ проанализировать вывод print_r Опрос Ajax Преобразование дня недели в даты для текущего месяца с MYSQL и PHP WordPress get_posts вложения orderby Как предотвратить загрузку моей страницы сайта на другой веб-сайт iframe? Организация дат со временем и часовыми поясами. (Преобразование в точную метку времени.) Невозможно получить доступ к константе класса из экземпляра с помощью оператора :: scope Regex для получения информации из квадратных скобок Как я могу вставлять отображение Google Map (или другое сопоставление ГИС) в PDF, когда я его создаю? Разрешить пользователям загружать вход, который они отправили каждый час? Как получить / установить session_id () или он должен быть сгенерирован автоматически? codeigniter вызов частной функции на cli Простой вход в PHP с файлом cookie Рекурсивно удалять пустые элементы и подмассивы из многомерного массива Наличие двух разных сеансов в одном домене

Как проверить, существует ли пользователь в MySQL с PHP

Я использую следующий код, который не работает для меня.

$con=mysqli_connect("localhost","root","","my_db"); $check="SELECT COUNT(*) FROM persons WHERE Email = '$_POST[eMailTxt]'"; if (mysqli_query($con,$check)>=1) { echo "User Already in Exists<br/>"; } else { $newUser="INSERT INTO persons(Email,FirstName,LastName,PassWord) values('$_POST[eMailTxt]','$_POST[NameTxt]','$_POST[LnameTxt]','$_POST[passWordTxt]')"; if (mysqli_query($con,$newUser)) { echo "You are now registered<br/>"; } else { echo "Error adding user in database<br/>"; } } 

Объект класса mysqli_result не может быть преобразован в int в C: \ xampp \ htdocs \ Exp \ welcome.php

этот код отлично подходит для вас …

 $con=mysqli_connect("localhost","root","","my_db"); $check="SELECT * FROM persons WHERE Email = '$_POST[eMailTxt]'"; $rs = mysqli_query($con,$check); $data = mysqli_fetch_array($rs, MYSQLI_NUM); if($data[0] > 1) { echo "User Already in Exists<br/>"; } else { $newUser="INSERT INTO persons(Email,FirstName,LastName,PassWord) values('$_POST[eMailTxt]','$_POST[NameTxt]','$_POST[LnameTxt]','$_POST[passWordTxt]')"; if (mysqli_query($con,$newUser)) { echo "You are now registered<br/>"; } else { echo "Error adding user in database<br/>"; } } 

Функция mysqli_query возвращает дескриптор mysqli_query результатов. Затем вам нужно прочитать строки из него:

 $rs = mysqli_query($con,$check); $data = mysqli_fetch_array($rs, MYSQLI_NUM); if($data[0] > 1) { //user exists; } 

Также обратите внимание, что SELECT count(1) FROM ... будет быстрее, чем SELECT count(*) FROM ... Вы не увидите большой разницы в небольшом столе, но с большой таблицей в несколько сотен тысяч строк, разница может быть значительной.

mysqli_query возвращает объект mysqli_result . Вместо того, чтобы сравнивать это с целым числом, попробуйте использовать num_rows :

 $res = mysqli_query($con,$check); if($res->num_rows){ //User exists } 

Изменить: вышеприведенное предположение заключалось в использовании SELECT * и это не будет работать с SELECT COUNT(*) . Оформить ответ Алекс G.

Вы можете попробовать следующий код:

 $query_code = "SELECT COUNT(itemCode) FROM masterData WHERE itemCode='{$itemCode}'"; $result_login = mysqli_query($conn,$query_code); $anything_found = mysqli_num_rows($result_login); if($anything_found > 0) { $formOk = false; echo "ITEM CODE ALREADY EXISTS! Please try again."; }