Страницы

Поиск по вопросам

суббота, 8 февраля 2020 г.

Проверка логина в бд

#база_данных #php


Здравствуйте! Подскажите, где ошибся:
$login = 'admin';

$db = mysql_connect('localhost', 'mysql', 'mysql');

$result = mysql_query("SELECT * FROM `admin_users` WHERE `login` = '$login' LIMIT
1",$db);
$row = mysql_fetch_array($result);

if ($row[0] == ''){
echo 'нет!';
}

else{
echo 'да!';
}


Не мог добавить комментарий, добавил сюда.
andreyqin,

echo 'SELECT id FROM ' . $prefix .
'_users WHERE login = "' . $login .
'"'; exit;

SELECT id FROM admin_users WHERE login = "admin"

запрос получается верный    


Ответы

Ответ 1



Попробуйте как-то так: $db = mysql_connect('localhost', 'mysql', 'mysql'); mysql_select_db('db'); // тут укажите имя вашей базы данных $login = 'admin'; $result = mysql_query('SELECT id FROM admin_users WHERE login = "' . $login . '"'); if (mysql_num_rows($result) > 0) { echo 'Логин занят'; } else { echo 'Логин свободен'; } И откажитесь от использования mysql_ функций в пользу mysqli_ или PDO.

Ответ 2



Я делал так : function db_connect() { $host = "localhost"; //host $user = "root"; // Пользователь $pswd = "1234"; //password $db = "mega"; // Имя базы данных $connection = mysql_connect($host, $user, $pswd); mysql_query("SET NAMES utf8"); // Делаем норм.восприятие русского языка if(!$connection || !mysql_select_db($db, $connection)) { return false; } return $connection; // Подключаемся. }

Ответ 3



Я для этого использую COUNT() $clusers = mysql_fetch_array(mysql_query("SELECT COUNT(1) FROM admin_users WHERE login='admin'")); echo $clusers[0]." = Кол-во пользователей"; if ($clusers[0] == '0') { echo "Такого пользователя нет"; } else { echo "Пользователь есть"; }

Комментариев нет:

Отправить комментарий