Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2011, 21:48   #1
AvernuS
Пользователь
 
Регистрация: 15.08.2009
Сообщений: 23
По умолчанию Проблема с mysql

Непонятная проблема.
Запрос
PHP код:
$cmquery "SELECT * FROM `categories`";
$getcats mysql_query($cmquery);

$catrow mysql_fetch_array($getcats);

if(
$ulang == 'ru')
{
    do{
        
printf("<p><a href='categories.php?cat=%s&lang=%s'>%s</a></p>"$catrow['cid'], $ulang$catrow['name_ru']);
      }
    while(
$catrow mysql_fetch_array($getcats));    

нормально срабатывает и выводит из базы значения,
а вот
PHP код:
 $result2 mysql_query ("INSERT INTO users(login, pass, email, group, regdate, ulang) VALUES('$login','$passd', '$email', '$group', NOW(), '$ulang')");
    
// Проверяем, есть ли ошибки
    
if ($result2=='TRUE')
    {
    echo 
"Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
    }
 else {
    echo 
"Ошибка! Вы не зарегистрированы.";
    } 
постоянно выдает что не зарегистрирован и не дает записать в базу значения из переменных.
В чем может быть проблема?
AvernuS вне форума Ответить с цитированием
Старый 05.07.2011, 21:54   #2
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
$result2 = mysql_query ("INSERT INTO users(login, pass, email, group, regdate, ulang) VALUES('$login','$passd', '$email', '$group', NOW(), '$ulang')");
// Проверяем, есть ли ошибки

И самый банальный вопросы: 1)ты подключение с MYSQL сервером открыл?(mysql_connect)
2) и базу данных выбрал? (mysql_select_db)

И вообще выведи запрос да проверь его напрямую через функцию в мускуле, sql называется!

Последний раз редактировалось CodeNOT; 05.07.2011 в 21:57.
CodeNOT вне форума Ответить с цитированием
Старый 05.07.2011, 22:02   #3
AvernuS
Пользователь
 
Регистрация: 15.08.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
И самый банальный вопросы: 1)ты подключение с MYSQL сервером открыл?(mysql_connect)
2) и базу данных выбрал? (mysql_select_db)

И вообще выведи запрос да проверь его напрямую через функцию в мускуле, sql называется!
да, я же почему и говорю, что к файлам с этими запросами инклудится один и тот же конфиг-файл соединения с БД.

А вот если скопировать запрос пхпмайадмин, и через SQL его запустить, просто подставив вместо имен переменных нужные значения - все срабатывает.
AvernuS вне форума Ответить с цитированием
Старый 05.07.2011, 22:24   #4
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

AvernuS, попробуй воткнуть где нибудь перед первой строкой во втором скрипте
PHP код:
echo "INSERT INTO users(login, pass, email, group, regdate, ulang) VALUES('$login','$passd', '$email', '$group', NOW(), '$ulang')"
Увидишь запрос, может у тебя просто где-нибудь переменная не определена или ещё что. Может имя не так ввел.
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 05.07.2011, 23:40   #5
VadikV
Форумчанин
 
Аватар для VadikV
 
Регистрация: 08.01.2011
Сообщений: 226
По умолчанию

напиши вот так:

PHP код:
$result2 mysql_query ("INSERT INTO users(login, pass, email, group, regdate, ulang) VALUES('$login','$passd', '$email', '$group', NOW(), '$ulang')")  or die (mysql_error()); 
это выведет сообщение об ошибки и увидишь, чего там не хватает
icq 223-630-454
e-mail vysotskiy@list.ru
сайт http://www.big-library.net/
VadikV вне форума Ответить с цитированием
Старый 06.07.2011, 00:03   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Подозреваю, что автор не знает, что нужно использовать $_POST/$_GET/$_REQUEST['login'] вместо $login.
Вот и валится у него запрос из-за отсутствия обязательных данных.

Кстати, if ($result2=='TRUE') вообще шикарно. В коллекцию говнокода! )))
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 06.07.2011, 01:24   #7
AvernuS
Пользователь
 
Регистрация: 15.08.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Johnatan Посмотреть сообщение
Подозреваю, что автор не знает, что нужно использовать $_POST/$_GET/$_REQUEST['login'] вместо $login.
Вот и валится у него запрос из-за отсутствия обязательных данных.

Кстати, if ($result2=='TRUE') вообще шикарно. В коллекцию говнокода! )))
тем не менее, подобная проверка работает, как ни странно.
и передавалось все через $_POST
а вот проблема успешно решилась иным образом, всего-лишь надо было добавить апострофы в названиях полей
PHP код:
INSERT INTO users(`login`, `pass`, `email`, `group`, `regdate`, `ulang`) VALUES('$login','$passd''$email''$group'NOW(), '$ulang'
AvernuS вне форума Ответить с цитированием
Старый 06.07.2011, 03:07   #8
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Цитата:
Сообщение от AvernuS Посмотреть сообщение
тем не менее, подобная проверка работает, как ни странно.
К сожалению, в PHP много чего работает, хотя не должно работать. Этим и пользуются неряшливые кодеры. Вон на http://govnokod.ru/php можно такие сокровища откопать... Глаза на лоб лезут.

Я рад, что вы решили свою проблему. Действительно не заметил, что у вас отсутствуют апострофы вокруг полей. Проблему давало всего одно поле group, так как это слово является одним из ключевых слов в MySQL, поэтому и выдавало ошибку. Но правила хорошего кода говорят, что в апострофы нужно заключать названия всех полей.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 06.07.2011, 04:37   #9
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от Johnatan Посмотреть сообщение
К сожалению, в PHP много чего работает, хотя не должно работать. Этим и пользуются неряшливые кодеры. Вон на http://govnokod.ru/php можно такие сокровища откопать... Глаза на лоб лезут.
Спасибо за сайт - посмеялся)
CodeNOT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с mysql AvernuS PHP 0 05.07.2011 21:48
Проблема с MySQL Card1nal Свободное общение 2 21.07.2010 11:57
Проблема с кодировкой из MySQL D-Snaker PHP 2 28.08.2009 10:30