Intereting Posts
Сохранение переменных сеанса в разных доменах Как показать php-файлы как обычный текст в Apache Использование оператора MySQL подобно Html / PHP – Форма – ввод как массив MySQL UDF, который выполняет поиск и замену REGEX Как проверить работу cron на локальном сервере, например WAMP? Маршрутизация, управляемая базами данных в CodeIgniter 2.x Проверка наличия имени пользователя в AJAX Как заставить приложение Facebook автоматически запрашивать требуемые разрешения после установки Laravel 5.2 нужен пример, который реализует драйверы аутентификации по умолчанию / «Multi-Auth». который требует много работ прямо сейчас, поскольку Установите общий макет для всех модулей в Zend framework 2 Как передать переменную php в модальное окно Когда следует использовать доктрину ORM и когда zend-db-table? Функциональный тест – служба Mock не сохраняется в сервисном контейнере Форум / Совет, написанный на одной из больших PHP-фреймворков

Попытка проверить, существует ли имя пользователя в базе данных MySQL, используя PHP

Я посмотрел на многие другие сообщения, похожие на мои проблемы, и реализовал их решения (насколько я могу судить) так, как мог. Однако каждый раз, когда я запускаю этот скрипт, выполняется код в блоке else (даже если введенное имя пользователя – это уже существующее).

Имя таблицы – «Пользователи», а столбец, который я пытаюсь выполнить, – «имя пользователя». Ввод из моей формы был прочитан в $username и я подтвердил, что он был правильно прочитан с использованием эха . $con содержит соединение с сервером.

В какой-то момент я также поставил echo $query (ничего не было напечатано) и echo mysql_num_rows($query) (ничего не было напечатано).

Вот соответствующий сегмент кода. Понравилось бы несколько советов.

 $query = mysql_query("SELECT username FROM Users WHERE username=$username", $con); if (mysql_num_rows($query) != 0) { echo "Username already exists"; } else { ... } 

EDIT: По-видимому, я должен был использовать mysqli для своего сервера, и так, как я проверил num_rows для этого, выполнив $ query-> num_rows, поскольку он был свойством объекта. Спасибо за помощь!

измените свой запрос на понравившийся.

 $query = mysql_query("SELECT username FROM Users WHERE username='".$username."'"); 

Попробуй это:

 $query = mysql_query("SELECT username FROM Users WHERE username='$username' ") 

Не добавляйте $con к функции mysql_query()

Я думаю, что в коде есть что-то не так. Вы можете удалить $ con, это не обязательно и

Проблема связана с переменной php внутри запроса mysql. Вы должны поставить вокруг него одну цитату. Этот код должен работать нормально

 $query = mysql_query("SELECT username FROM Users WHERE username='$username'"); if (mysql_num_rows($query) != 0) { echo "Username already exists"; } else { ... } 

Изменить это

 $query = mysql_query("SELECT username FROM Users WHERE username=$username", $con); 

к

 $query = mysql_query("SELECT username FROM Users WHERE username='$username'"); 

ПОПРОБУЙ ЭТО

  mysql_connect('localhost','dbuser','dbpass'); $query = "SELECT username FROM Users WHERE username='".$username."'"; mysql_select_db('dbname'); $result=mysql_query($query); if (mysql_num_rows($query) != 0) { echo "Username already exists"; } else { ... } 

Все в порядке, просто одна ошибка. Измените это:

 $query = mysql_query("SELECT username FROM Users WHERE username=$username", $con); $query = mysql_query("SELECT Count(*) FROM Users WHERE username=$username, $con"); if (mysql_num_rows($query) != 0) { echo "Username already exists"; } else { ... } 

SELECT * не будет работать, используйте с SELECT COUNT(*) .

 $firstname = $_POST["firstname"]; $lastname = $_POST["lastname"]; $email = $_POST["email"]; $pass = $_POST["password"]; $check_email = mysqli_query($conn, "SELECT Email FROM crud where Email = '$email' "); if(mysqli_num_rows($check_email) > 0){ echo('Email Already exists'); } else{ if ($_SERVER["REQUEST_METHOD"] == "POST") { $result = mysqli_query($conn, "INSERT INTO crud (Firstname, Lastname, Email, Password) VALUES ('$firstname', '$lastname', '$email', '$pass')"); } echo('Record Entered Successfully'); } 

Вот что я написал:

 $error = false; $sql= "SELECT username FROM users WHERE username = '$username'"; $checkSQL = mysqli_query($db, $checkSQL); if(mysqli_num_rows($checkSQL) != 0) { $error = true; echo '<span class="error">Username taken.</span>'; } 

Работает как шарм!

PHP 7 улучшил запрос ………

$sql = mysqli_query($conn, "SELECT * from users WHERE user_uid = '$uid'"); if (mysqli_num_rows($sql) > 0) { echo 'Username taken.'; }