Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: База данных
Форумы портала PHP.SU » » Вопросы новичков » База данных

Страниц (1): [1]
 

1. saber135791 - 17 Сентября, 2011 - 20:08:52 - перейти к сообщению
Здравствуйте, у меня такая проблема, данные почему-то не заносятся в базу данных, вроде все написано верно, но почему-то не работает, это начало происходить после того как я ввел скрытую форму с именем group. Использую вот такой код заноса в БД:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $result = mysql_query ("INSERT INTO users (login, password1, password2, mail, name, gender, birthday1, birthday2, birthday3, site, group) VALUES ('$login', '$password1', '$password2', '$mail', '$name', '$gender', '$birthday1', '$birthday2', '$birthday3', '$site', '$group')");

А это код самого скрытого поля:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input class='formstyle' type='hidden' name='group' value='1' />\n";


Подскажите в чем ошибка, никак не могу понять...
2. DeertOff - 17 Сентября, 2011 - 20:26:55 - перейти к сообщению
Желательно выложить полностью код добавления в базу. В этих строчках ошибок нету.
Особенно интересен момент определения переменной group и передача ей параметра.
3. saber135791 - 18 Сентября, 2011 - 12:18:31 - перейти к сообщению
Вот код добавления в базу и форм:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. if ((isset($login) || isset($password1) || isset($password2) || isset($mail) || isset($name) || isset($gender) || isset($birthday1) || isset($birthday2) || isset($birthday3)) && (($login != '' || $password1 != '' || $password2 != '' || $mail != '')) && (strcmp($password1, $password2) == 0) && (strcasecmp($login, $myrow1['login']) != 0))
  3. {
  4. $result = mysql_query ("INSERT INTO users (login, password1, password2, mail, name, gender, birthday1, birthday2, birthday3, site, group) VALUES ('$login', '$password1', '$password2', '$mail', '$name', '$gender', '$birthday1', '$birthday2', '$birthday3', '$site', '$group')");
  5. }
  6. if ($result == 'true')
  7. {
  8.         echo "Вы успешно зарегистрировались<br><br>";
  9.         echo "Сейчас вы будете перемещены на главную страницу!";
  10.         echo "<meta http-equiv='refresh' content='5; url=/../../index.php' />";
  11. }
  12. else
  13. {
  14.         echo "<form action='registration.php' method='POST'>\n";
  15.         echo "<input class='formstyle' type='hidden' name='group' value='1' />\n";
  16.         echo "Введите логин:<br />\n";
  17.         echo "<input class='formstyle' type='text' name='login' /><br />\n";
  18.         echo "Введите пароль:<br />\n";
  19.         echo "<input class='formstyle' type='password' name='password1' /><br />\n";
  20.         echo "Повторите пароль:<br />\n";
  21.         echo "<input class='formstyle' type='password' name='password2' /><br />\n";
  22.         echo "Введите почтовый ящик:<br />\n";
  23.         echo "<input class='formstyle' type='text' name='mail' /><br />\n";
  24.         echo "Введите ваше имя:<br />\n";
  25.         echo "<input class='formstyle' type='text' name='name' /><br />\n";
  26.         echo "Выберите ваш пол:<br />\n";
  27.         echo "<select class='formstyle' name='gender'><option disabled>Выберите пол</option><option value='Мужской'>Мужской</option><option value='Женский'>Женский</option></select><br />\n";
  28.         echo "Выберите дату рождения:<br />\n";
  29.         include("/www/block/birthday.php");
  30.         echo "Введите адрес вашего сайта:<br />\n";
  31.         echo "<input class='formstyle' type='text' name='site' /><br />\n";
  32.         echo "<input class='formstyle' type='submit' value='Зарегистрироваться' />\n";
  33.         echo "</form>";
  34. }
  35. ?>
4. Champion - 18 Сентября, 2011 - 16:19:12 - перейти к сообщению
mysq_error()
5. caballero - 18 Сентября, 2011 - 16:25:39 - перейти к сообщению
а по человечески не пробовали?

вместо '$group' '{$_POST['group']}'
6. saber135791 - 18 Сентября, 2011 - 17:51:00 - перейти к сообщению
Champion пишет:
mysq_error()

Попробую...
caballero пишет:
вместо '$group' '{$_POST['group']}'

У меня выше в коде есть такой скрипт:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $group = $_POST['group'];

(Добавление)
saber135791 пишет:
Попробую...

Попробовал, никакую ошибку не выводит!
7. biperch - 18 Сентября, 2011 - 19:13:18 - перейти к сообщению
я когда какойто трабл с запросом я всегда его распечатываю и смотрю в каком виде он получается, если на вид все норм, пробую чтобы на верочку в пхпмайадмин его затулить, если все норм значит проблема не в запросе а где то еще.....
8. saber135791 - 18 Сентября, 2011 - 19:22:31 - перейти к сообщению
biperch пишет:
я когда какойто трабл с запросом я всегда его распечатываю и смотрю в каком виде он получается, если на вид все норм, пробую чтобы на верочку в пхпмайадмин его затулить, если все норм значит проблема не в запросе а где то еще.....

Через phpmyadmin добавляется нормально, но не понятно в чем проблема, если убрать переменную group, то все нормально добавляется!
9. caballero - 18 Сентября, 2011 - 19:25:53 - перейти к сообщению
возьми ее в фигурные кавычки
10. DeertOff - 18 Сентября, 2011 - 19:34:49 - перейти к сообщению
сори сбил всех с толку Радость
group зарезервированное слово бери его в кавычки `group`
но лучше воздержаться от зарезервированных слов в именах таблиц и столбцов
11. saber135791 - 18 Сентября, 2011 - 19:53:51 - перейти к сообщению
DeertOff пишет:
сори сбил всех с толку
group зарезервированное слово бери его в кавычки `group`
но лучше воздержаться от зарезервированных слов в именах таблиц и столбцов

Я даже и не знал, изменил название и все получилось, большое спасибо за помощь!
12. Stasnislav - 20 Сентября, 2011 - 13:16:30 - перейти к сообщению
saber135791 пишет:
DeertOff пишет:
сори сбил всех с толку
group зарезервированное слово бери его в кавычки `group`
но лучше воздержаться от зарезервированных слов в именах таблиц и столбцов

Я даже и не знал, изменил название и все получилось, большое спасибо за помощь!

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

 

Powered by ExBB FM 1.0 RC1