Я создаю скрипт в PHP
, который обновляет мои пользователи, user_personal и user_extra таблицу в MySQL
, используя объединения. Когда я выполняю запрос с использованием mysql_query
, он возвращает true, но таблицы не обновляются.mysql_query возвращает true при выполнении объединенного запроса UPDATE
Я читал онлайн, что mysql_query
возвращает false, если он не работает, или ресурс MySQL
, если он преуспевает, а также читайте, что это известная ошибка PHP
.
Это вопрос, о котором идет речь.
UPDATE users
INNER JOIN user_personal
ON users.id = user_personal.id
INNER JOIN user_extra
ON users.id = user_extra.id
SET
users.email = '" . $user->email . "',
user_extra.life_condition = '" . $user->life_condition . "',
user_extra.keycode = '" . $user->keycode . "',
user_extra.contact_person_phone = '" . $user->contact_person_phone . "',
user_extra.doctor = '" . $user->doctor . "',
user_extra.doctor_phone = '" . $user->doctor_phone . "',
user_extra.doctorpost_phone = '" . $user->doctorpost_phone . "',
user_extra.condition = '" . $user->condition . "',
user_extra.allergy = '" . $user->allergy . "',
user_extra.goal = '" . $user->goal . "',
user_extra.attention_officer = '" . $user->attention_officer . "',
user_extra.primary_respon = '" . $user->primary_respon . "',
user_personal.name = '" . $user->name . "',
user_personal.last_name = '" . $user->last_name . "',
user_personal.insertion = '" . $user->insertion . "',
user_personal.birthdate = '" . $user->birthdate . "',
user_personal.sex = '" . $user->sex . "',
user_personal.street_name = '" . $user->street_name . "',
user_personal.house_number = '" . $user->house_number . "',
user_personal.postal_code = '" . $user->postal_code . "',
user_personal.city = '" . $user->city . "',
user_personal.country = '" . $user->country . "',
user_personal.tel_nr = '" . $user->tel_nr . "',
user_personal.contact_person = '" . $user->contact_person . "'
WHERE user_personal.name = '" . $user->name . "'
Когда я выполнил меньше тестовую версию запроса с использованием одного INNER JOIN
функции возвращается ресурс, одни и те же результаты, когда я сделать запрос без соединения. Мой сервер использует PHP
5.3.3 и Apache
версии 2.2.15 с сервером MySQL 5.1.69.
Можете ли вы объяснить, как это происходит? И есть ли решение этой проблемы?
Вы забыли совершить сделку? –
Это не транзакция sql, а обычный запрос. –
check 'mysql_affected_rows()' должно быть 0, что означает, что ваш оператор обновления не соответствует ни одному из строк. – DevZer0