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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запись из options value в бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
shahin
Отправлено: 23 Августа, 2014 - 21:20:08
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Не получается добавить в базу значение
CODE (html):
скопировать код в буфер обмена
  1. <select name="gender">
  2. <option value="0">Мужской</option>
  3. <option value="1">Женский</option>
  4. </select>

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $gender = $_POST['gender'];
  3. if ($gender == '0' && $gender == '1') {$sql = ("INSERT INTO users(sex) VALUES = '".$gender."'");
  4. $result = mysql_query($sql)or die(mysql_error());}
  5. else $error_sex = 'Ошибка! Вы не указали ваш пол!';
  6. ?>

(Отредактировано автором: 23 Августа, 2014 - 21:22:10)

 
 Top
avtor.fox
Отправлено: 23 Августа, 2014 - 21:27:36
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




сначала выполните запрос для теста, потом смотрите, что у Вас не так

CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO users(sex) VALUES = 1


. (Отобразить)
 
 Top
shahin
Отправлено: 23 Августа, 2014 - 21:32:46
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




avtor.fox пишет:
и я впервые встречаю такой синтаксис

какой?
(Добавление)
Если не правельно, напишите правельный код пожалуйста
 
 Top
IGORtrue
Отправлено: 23 Августа, 2014 - 21:39:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. "INSERT INTO users (sex) VALUES ('".$gender."')"

Попробуйте
 
 Top
shahin
Отправлено: 23 Августа, 2014 - 21:56:25
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




IGORtrue Не сработало
 
 Top
IGORtrue
Отправлено: 23 Августа, 2014 - 22:11:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




shahin пишет:
IGORtrue Не сработало


PHP:
скопировать код в буфер обмена
  1. if ($gender == '0' && $gender == '1')

$gender не будет равен и тому и тому..нужно так:
PHP:
скопировать код в буфер обмена
  1. if ($gender == '0' || $gender == '1')
 
 Top
shahin
Отправлено: 23 Августа, 2014 - 22:21:00
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




IGORtrue You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ('1')' at line 1
(Добавление)
У вас ошибка в вашем синтаксисе SQL; проверить документацию по используемой версии MySQL на предмет корректного синтаксиса около '= («1»)' в строке 1
но почему?
 
 Top
IGORtrue
Отправлено: 23 Августа, 2014 - 22:23:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $gender = $_POST['gender'];
  4. if ($gender == '0' || $gender == '1')
  5. {
  6.         $sql = ("INSERT INTO users (`sex`) VALUES ('".$gender."')");
  7.         $result = mysql_query($sql)or die(mysql_error());
  8. }
  9. else echo 'Ошибка! Вы не указали ваш пол!';
  10.  
  11. ?>
  12.  

http://ru.wikipedia.org/wiki/Insert_(SQL)
Ещё $_POST['gender'] нужно проверить на существование и проверить на всякую ересь неверующую..

(Отредактировано автором: 23 Августа, 2014 - 22:29:43)

 
 Top
shahin
Отправлено: 23 Августа, 2014 - 22:33:44
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




IGORtrue Спасибо работает но значение всегда 1
 
 Top
IGORtrue
Отправлено: 23 Августа, 2014 - 22:37:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




shahin пишет:
IGORtrue Спасибо работает но значение всегда 1

А может у вас в таблице users, sex имеет тип int?
Я вот не помню как тогда будет работать, попробуйте так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $gender = $_POST['gender'];
  3. if ($gender == '0' || $gender == '1')
  4. {
  5.         $sql = ("INSERT INTO users (`sex`) VALUES (".$gender.")");
  6.         $result = mysql_query($sql)or die(mysql_error());
  7. }
  8. else echo 'Ошибка! Вы не указали ваш пол!';
  9.  
  10. ?>

Одинарные скобки убрал
 
 Top
shahin
Отправлено: 23 Августа, 2014 - 22:41:23
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




в таблице значение varchar
(Добавление)
У меня прямо на странице видно 1 с краю
(Добавление)
Видимо не идет выбор, а всегда 1
 
 Top
IGORtrue
Отправлено: 23 Августа, 2014 - 22:44:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




shahin пишет:
У меня прямо на странице видно 1 с краю

А чего это? В коде где написано показывать?
 
 Top
shahin
Отправлено: 23 Августа, 2014 - 22:46:45
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




тьфу забыл сказать что я не записываю теперь, а изменяю
PHP:
скопировать код в буфер обмена
  1. $gender = $_POST['gender'];
  2. if ($gender == '1' || $gender == '2')
  3. {
  4. $sql = ("UPDATE users SET `sex`=(".$gender.")");
  5. $result = mysql_query($sql)or die(mysql_error());
  6. }

теперь запись меняется у всех пользователей, а как сделать чтобы было только у меня
(Добавление)
IGORtrue пишет:
А чего это? В коде где написано показывать?

вот и я о томже думаю, оператора то не писал
 
 Top
IGORtrue
Отправлено: 23 Августа, 2014 - 22:52:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $gender = $_POST['gender'];
  3. if ($gender == '1' || $gender == '2')
  4. {
  5. $sql = ("UPDATE `users` SET `sex`='".$gender."' WHERE `id`= '".$user_id."'");
  6. $result = mysql_query($sql)or die(mysql_error());
  7. }
  8.  

У вас должен быть уникальный идентификатор пользователя, например id.
WHERE `id`= '".$user_id."' - это условие, что только этому id поменяется
И у вас в форме 0 и 1, а тут уже 1 и 2..

(Отредактировано автором: 23 Августа, 2014 - 22:55:03)

 
 Top
shahin
Отправлено: 23 Августа, 2014 - 22:54:26
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




IGORtrue да, сейчас буду писать. Я вам очень благодарен за помощь!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB