Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Возникла ошибка
 
 автор: Lord_of_fire   (07.05.2010 в 00:28)   письмо автору
 
 


$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'.
В чем состоит ошибка и как можно исправить?

  Ответить  
 
 автор: neadekvat   (07.05.2010 в 00:57)   письмо автору
 
   для: Lord_of_fire   (07.05.2010 в 00:28)
 

Перед запросом к бд данные следует экранировать. Вообще, эта тема достаточно обширная и имеет подводные камни. Почитайте хотя бы это.

Конкретно в вашем случаи - надо поставить апострофы. Так следует делать всегда, когда в запрос будут подсталяется данные, отличные от числовых.
"SELECT login FROM users WHERE login = '$login'"

  Ответить  
 
 автор: Lord_of_fire   (07.05.2010 в 15:52)   письмо автору
 
   для: neadekvat   (07.05.2010 в 00:57)
 

Спасибо за ссылку, и что помогли исправить код

  Ответить  
 
 автор: Trianon   (07.05.2010 в 06:28)   письмо автору
 
   для: Lord_of_fire   (07.05.2010 в 00:28)
 

попробуйте вывести текст запроса перед выполнением.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования