|
|
|
|
$usersdb = mysql_query("SELECT login FROM users WHERE login=$login",$db);
if (!$usersdb)
{exit(mysql_error());}
if (mysql_num_rows($usersdb) == 0)
{mysql_query("INSERT INTO users (login,pass) VALUES ($login,$pass)",$db);
echo "Вы успешно зарегистрировались";}
else
{echo "<b>Логин уже существует!</b><br>";}
|
Начал изучать PHP и писать скрипт, но столкнулся с ошибкой.
Когда в переменой $login цифры то все отлично регается, а когда латинеца то появляется ошибка: Unknown column 'Name' in 'where clause'.
В чем состоит ошибка и как можно исправить? | |
|
|
|
|
|
|
|
для: Lord_of_fire
(07.05.2010 в 00:28)
| | Перед запросом к бд данные следует экранировать. Вообще, эта тема достаточно обширная и имеет подводные камни. Почитайте хотя бы это.
Конкретно в вашем случаи - надо поставить апострофы. Так следует делать всегда, когда в запрос будут подсталяется данные, отличные от числовых.
"SELECT login FROM users WHERE login = '$login'"
|
| |
|
|
|
|
|
|
|
для: neadekvat
(07.05.2010 в 00:57)
| | Спасибо за ссылку, и что помогли исправить код | |
|
|
|
|
|
|
|
для: Lord_of_fire
(07.05.2010 в 00:28)
| | попробуйте вывести текст запроса перед выполнением. | |
|
|
|