PHP не правильно обрабатывает mysql запросы. что делать?

ПашаV

Новичок
Здравствуйте коллеги))

Третьи сутки мучаюсь с проблемой (ни интернет, ничего не помогает), ситуация такая:

есть такой запрос

PHP:
$sql = "UPDATE profile SET profile.first_name = 'Татьяна', profile.second_name = 'Веселова', profile.last_name = 'Александровна', profile.name = 'Веселова Татьяна Александровна', profile.gender = 'female', profile.skype = 'veselova.tanya', profile.icq = '7426623', profile.phone = '+7 (812) 966-2126', profile.birth_date = '1985-02-25', profile.about = '1', profile.skills = '1', profile.hobby = '1', profile.contacts = '1', profile.education = '1', profile.is_notify = 1, profile.city_id = 0, profile.image_id = 0 WHERE profile.user_id = 2";
$query = mysql_query($sql);
echo var_dump($query);
получаем

PHP:
bool ( false )
т.е. мой запрос UPDATE не выполняется, раз возвращает FALSE, идем в phpmyadmin (это локальный phpmyadmin, denwer3, mysql 5, php 5.3), захожу в свою базу далее в SQL - и ввожу тот же самый запрос, получаю:

PHP:
Затронута 1 строка. ( Запрос занял 0.0025 сек. )

UPDATE profile SET profile.first_name = 'Татьяна',
profile.second_name = 'Веселова',
profile.last_name = 'Александровна',
profile.name = 'Веселова Татьяна Александровна',
profile.gender = 'female',
profile.skype = 'veselova.tanya',
profile.icq = '7426623',
profile.phone = '+7 (812) 966-2126',
profile.birth_date = '1985-02-25',
profile.about = '1',
profile.skills = '1',
profile.hobby = '1',
profile.contacts = '1',
profile.education = '1',
profile.is_notify =1,
profile.city_id =0,
profile.image_id =0 WHERE profile.user_id = 2
вот структура таблицы profile

PHP:
CREATE TABLE IF NOT EXISTS `profile` (
  `user_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `gender` enum('male','female') NOT NULL,
  `city_id` int(11) NOT NULL,
  `image_id` int(11) NOT NULL,
  `icq` varchar(9) NOT NULL,
  `skype` varchar(255) NOT NULL,
  `is_notify` tinyint(1) NOT NULL DEFAULT '1',
  `about` text NOT NULL,
  `education` text NOT NULL,
  `contacts` text NOT NULL,
  `hobby` text NOT NULL,
  `skills` text NOT NULL,
  `first_name` varchar(255) NOT NULL,
  `second_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  `birth_date` date NOT NULL,
  `phone` varchar(255) NOT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
при этом из скрипта сразу после того "ЗЛОСЧАСТНОГО ЗАПРОСА" или перед нем я пробовал выполнять и такой запрос:

PHP:
$sql = "update `user` set `updated` = NOW(), `type` = '2' where `user_id` = 2";
$query = mysql_query($sql);
echo var_dump($query);
получаем

PHP:
bool ( true )
т.е. один запрос отрабатывает, другой нет.

в чём проблема хоть убейте не понимаю. Ошибок в запросе нет. Но он не отрабатывает из скрипта, и отрабатывает из phpmyadmin. Кто-нибудь с таким сталкивался?
 

radioheaded

PHP нуб
Во-первых, я вижу невооруженным взглядом, что строки запросов не идентичны.
Во-вторых, что говорит mysql_error() ?
 

Фанат

oncle terrible
Команда форума
А мне вот интересно, зачем указывать имя фамилию и отчество по два раза. А имя таблицы - и все 20.
 

ПашаV

Новичок
А мне вот интересно, зачем указывать имя фамилию и отчество по два раза. А имя таблицы - и все 20.
изначально было заполнение только нескольких полей. не работало. я подумал это изза того что не указано имя таблицы - добавил, затем подумал из-за того что не все поля в запросе добавил все поля и т.д. - этот запрос результат 72 часов разбирательства непонятной ошибки
 

ПашаV

Новичок
Во-первых, я вижу невооруженным взглядом, что строки запросов не идентичны.
Во-вторых, что говорит mysql_error() ?
неидентичны, потому что запрос в коде у меня одной строкой, когда скопировать этотзапрос и вставить в phpmyadmin Он его парсит и выводит в вертикальном виде с пробелами и табуляциями
 

Фанат

oncle terrible
Команда форума
оба эти телодвижения были лишними.
но сейчас-то уже разобрался с непонятной ошибкой, надеюсь?
 
Сверху