[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не обновляются данные
franko
if (isset($_POST['b_day']) && ! empty($_POST['b_day'])) $b_day = $_POST['b_day']; 
if (isset($_POST['b_month']) && ! empty($_POST['b_month'])) $b_month = $_POST['b_month'];
if (isset($_POST['b_year']) && ! empty($_POST['b_year'])) $b_year = $_POST['b_year'];

if (isset($b_day, $b_month, $b_year, $gender,  
$height, $family, $children, $education, $country,
$city_ru, $city_en, $confession, $church, $about_ru,
$about_en))

$result = mysql_query ("UPDATE users SET  
b_day='
$b_day', b_month='$b_month', b_year='$b_year',
gender='
$gender', height='$height', family='$family',
children='
$children', education='$education',
country='
$country', city_ru='$city_ru', city_en='$city_en',
confession='
$confession', church='$church',
about_ru='
$about_ru', about_en='$about_en'
WHERE login='
$login'");

все данные обновляются. кроме b_day и b_year. У них значение в базе равно ноль.
Вывожу:
Это b_day - \\\'31\\\'
Это b_month - 12
Это b_year - \\\'1999\\\'

у всех тип varchar. меняю тип на int
Но все равно
Это b_day - \\\'31\\\'
Это b_month - 12
Это b_year - \\\'1999\\\'

Где ошибка? Что это \\\'31\\\' и \\\'1999\\\'



Спустя 30 минут, 36 секунд (2.02.2011 - 16:32) inpost написал(а):
franko
Это магические кавычки, их надо отключать. Идёт экранизация твоих кавычек: '31' , ты передавай строку без кавычек, будет тебе счастье, просто значение 31 !
Загляни в последнюю ссылку в моей подписи, ты запросы криво делаешь, а потом по всем остальным ссылкам там же.
На сайте irbis-team.com можешь почитать, как борятся с автоматически включенными магическими кавычками.

Спустя 17 минут, 27 секунд (2.02.2011 - 16:49) franko написал(а):
Цитата (inpost @ 2.02.2011 - 13:32)
Идёт экранизация твоих кавычек: '31' , ты передавай строку без кавычек.

ты имеешь ввиду следующую строку
UPDATE users SET b_day='$b_day', b_month='$b_month', 

офрмить вот так
UPDATE users SET b_day=$b_day, b_month=$b_month, 

Спустя 36 минут, 2 секунды (2.02.2011 - 17:25) inpost написал(а):
franko
Именно так у меня показано тут: http://inpost.dp.ua/lessons/lessons.php?id=5 ???
Я ещё раз говорю, данные приходят с кавычками из формы!

Спустя 1 час, 50 минут, 15 секунд (2.02.2011 - 19:15) @dmir@l написал(а):
/// rolleyes.gif

Спустя 18 часов, 49 минут, 37 секунд (3.02.2011 - 14:05) franko написал(а):
Экранировал как у вас. вот что поулчилось
if (isset($_POST['login']) && ! empty($_POST['login'])) $login = $_POST['login'];
if (isset($_POST['password']) && ! empty($_POST['password'])) $password = $_POST['password'];
if (isset($_POST['b_day']) && ! empty($_POST['b_day'])) $b_day = $_POST['b_day'];
if (isset($_POST['b_month']) && ! empty($_POST['b_month'])) $b_month = $_POST['b_month'];
if (isset($_POST['b_year']) && ! empty($_POST['b_year'])) $b_year = $_POST['b_year'];
if (isset($_POST['gender']) && ! empty($_POST['gender'])) $gender = $_POST['gender'];
if (isset($_POST['height']) && ! empty($_POST['height'])) $height = $_POST['height'];
if (isset($_POST['family']) && ! empty($_POST['family'])) $family = $_POST['family'];
if (isset($_POST['children']) && ! empty($_POST['children'])) $children = $_POST['children'];
if (isset($_POST['education']) && ! empty($_POST['education'])) $education = $_POST['education'];
if (isset($_POST['country']) && ! empty($_POST['country'])) $country = $_POST['country'];
if (isset($_POST['city_ru']) && ! empty($_POST['city_ru'])) $city_ru = $_POST['city_ru'];
if (isset($_POST['city_en']) && ! empty($_POST['city_en'])) $city_en = $_POST['city_en'];
if (isset($_POST['confession']) && ! empty($_POST['confession'])) $confession = $_POST['confession'];
if (isset($_POST['church']) && ! empty($_POST['church'])) $church = $_POST['church'];
if (isset($_POST['about_ru']) && ! empty($_POST['about_ru'])) $about_ru = $_POST['about_ru'];
if (isset($_POST['about_en']) && ! empty($_POST['about_en'])) $about_en = $_POST['about_en'];

if (isset($b_day, $b_month, $b_year, $gender, $height, $family, $children, $education, $country, $city_ru, $city_en, $confession, $church, $about_ru, $about_en))
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("UPDATE `users` SET
`b_day`='"
.$b_day."',
`b_month`='"
.$b_month"',
`b_year`='"
.$b_year"',
`gender`='"
.$gender"',
`height`='"
.$height"',
`family`='"
.$family"',
`children`='"
.$children"',
`education`='"
.$education"',
`country`='"
.$country"',
`city_ru`='"
.$city_ru"',
`city_en`='"
.$city_en"',
`confession`='"
.$confession"',
`church`='"
.$church"',
`about_ru`='"
.$about_ru"',
`about_en`='"
.$about_en"'
WHERE `login`='"
.$login"'
"
);

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/alivea/public_html/people/update_user.php on line 47
во она 47 строка `b_year`='".$b_year"'
Из чего ошибка?

Спустя 22 минуты, 48 секунд (3.02.2011 - 14:28) Dron19 написал(а):
ппц, ты пристыковываешь строку в начале, а в конце????

					   `b_month`='".$b_month"', 
`b_year`='".$b_year"',
`gender`='".$gender"',
`height`='".$height"',
`family`='".$family"',
`children`='".$children"',
`education`='".$education"',
`country`='".$country"',
`city_ru`='".$city_ru"',
`city_en`='".$city_en"',
`confession`='".$confession"',
`church`='".$church"',
`about_ru`='".$about_ru"',
`about_en`='".$about_en"'

Спустя 45 секунд (3.02.2011 - 14:29) Dron19 написал(а):
ты написал так
`b_month`='".$b_month"', 

а нужно так
`b_month`='".$b_month."', 

Раздражает такая невнимательность

Спустя 30 секунд (3.02.2011 - 14:29) Dron19 написал(а):
у тебя везде не правильно

Спустя 39 секунд (3.02.2011 - 14:30) Dron19 написал(а):
если помогло, с тебя плюс

Спустя 12 минут, 56 секунд (3.02.2011 - 14:43) franko написал(а):
да точку забыл поставить...

но тем не менеее

После проверки выходит:
Это b_day - \\\'31\\\'Это b_month - 12Это b_year - \\\'1999\\\'

В БД в ячейке b_day - о, b_month - 12, b_year - 0

В чем может быть дело?

Тип INT.

Спустя 28 минут, 8 секунд (3.02.2011 - 15:11) Dron19 написал(а):
не может такого быть

Спустя 44 секунды (3.02.2011 - 15:12) franko написал(а):
Цитата (Dron19 @ 3.02.2011 - 12:11)
не может такого быть

но такое есть

Спустя 1 час, 12 минут, 51 секунда (3.02.2011 - 16:24) franko написал(а):
так в чем же может быть?

может быть Значения воспринимаются как строка и при попытке привести их к числу они приводятся к 0?

Спустя 11 минут, 11 секунд (3.02.2011 - 16:36) linker написал(а):
franko
Что ты мучаешься, тебе же уже давно сказали отключи magic_quotes.

Спустя 1 минута, 49 секунд (3.02.2011 - 16:37) franko написал(а):
а как их отключить?

Спустя 3 минуты, 55 секунд (3.02.2011 - 16:41) linker написал(а):
php.ini
magic_quotes_gpc Off
magic_quotes_runtime Off
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.