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 можешь почитать, как борятся с автоматически включенными магическими кавычками.
Это магические кавычки, их надо отключать. Идёт экранизация твоих кавычек: '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 ???
Я ещё раз говорю, данные приходят с кавычками из формы!
Именно так у меня показано тут: http://inpost.dp.ua/lessons/lessons.php?id=5 ???
Я ещё раз говорю, данные приходят с кавычками из формы!
Спустя 1 час, 50 минут, 15 секунд (2.02.2011 - 19:15) @dmir@l написал(а):
///

Спустя 18 часов, 49 минут, 37 секунд (3.02.2011 - 14:05) franko написал(а):
Экранировал как у вас. вот что поулчилось
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"'
Из чего ошибка?
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.
но тем не менеее
После проверки выходит:
Это 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?
может быть Значения воспринимаются как строка и при попытке привести их к числу они приводятся к 0?
Спустя 11 минут, 11 секунд (3.02.2011 - 16:36) linker написал(а):
franko
Что ты мучаешься, тебе же уже давно сказали отключи magic_quotes.
Что ты мучаешься, тебе же уже давно сказали отключи 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