Добрый день! Пишу обработчик для формы, в которую пользователь вносит логин, пароль. Создаю запрос в БД для проверки существующего пароля, если такого нет, то вносим новые данные, все работает, запрос выглядит так: Код (PHP): $res=mysql_query("SELECT * FROM users WHERE pass=".$password); // users-таблица, pass-поле Далее писал условие и если пароль совпадал, то данные не вносились, все работает ОК. Но нужно еще проверить существует ли в базе такой логин (в БД поле name) и пароль, написал такую строку: Код (PHP): $res=mysql_query("SELECT * FROM users WHERE name=".$log." AND pass=".$password); Но все это начало работать некорректно, потом я решил сделать только проверку логина и написал: Код (PHP): $res=mysql_query("SELECT * FROM users WHERE name=".$log); Все дальнейшие условия начали игнорироваться, данные с одинаковым логином вносились, появилась ошибка Код (PHP): mysql_fetch_array() expects parameter 1 to be resource, boolean given Поискал по форуму, нашел одну функцию, если пишу: Код (PHP): mysql_query($res) || die(mysql_error()); то на экране: Код (PHP): Query was empty Если пишу: Код (PHP): mysql_query("select * from users WHERE name=".$log) || die(mysql_error()); то на экране: Код (PHP): Unknown column 'Логин' in 'where clause' Почему так происходит, я ведь только заменил одно поле на другое и пароль на логин, должно же работать одинаково, правильно? Спасибо! Вопрос закрыт! Решение: надо было переменную, в которой лежит новый логин, взять в кавычки (таков синтаксис, а ранее при проверке пароля ошибка почему-то игнорировалась) Код (PHP): $res=mysql_query("SELECT * FROM users WHERE name='.$log'"); PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Yan9, я понял что это имя поля. Это имя поля где храниться логин пользователя? или же его имя? и еще name зарезервированное имя в mysql
Да, это имя поля где хранится логин пользователя. Изменил имя поля на log, в коде поменял, но все равно результат такой же.
Вот форма: Код (PHP): <?php include_once("pages/functions.php"); $logform='<form action="pages/login.php" method="post"/> <input type="text" name="uname" /> <input type="password" name="upass" /> <input type="checkbox" name="reg" /> <input type="submit" name="submit" value="OK" /> </form>'; echo $logform; Вот обработчик формы (в файле login.php) Код (PHP): <?php include_once ("functions.php"); // тут подключаемся к файлу, в котором содержится код подключения к БД connect(); if(isset($_REQUEST['submit'])&&isset($_REQUEST['reg'])) // если нажата кнопка и поставлена галочка на чекбоксе { $log=htmlspecialchars(trim($_REQUEST['uname'])); $password=htmlspecialchars(trim($_REQUEST['upass'])); $res=mysql_query("select * from users where log=".$log); $row=mysql_fetch_array($res,MYSQL_NUM); if(!empty($row)) { echo "Введите другой логин"; echo "<br/><a href='http://localhost/yan/6answers/site2/index.php'>На Главную</a>"; } else { $inc='insert into users(log,pass) values("'.$log.'","'.$password.'")'; mysql_query($inc); echo "Поздравляем, вы зарегистрированы!"; echo "<br/><a href='http://localhost/yan/6answers/site2/index.php'>На Главную</a>"; } } else { echo "Поставьте галочку для регистрации"; echo "<br/><a href='http://localhost/yan/6answers/site2/index.php'>На Главную</a>"; } ?>