PHP
結合を使用してユーザー、user_personal、および user_extra テーブルを更新するスクリプトを作成していますMySQL
。それを使用してクエリを実行すると、 mysql_query
true が返されますが、テーブルは更新されません。
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
関数がリソースを返したものを使用して、より小さなテスト バージョンのクエリを実行すると、結合なしでクエリを実行した場合と同じ結果になりました。私のサーバーは、MySQL サーバー 5.1.69 でPHP
5.3.3 およびバージョン 2.2.15 を使用しています。Apache
これがどのように起こるか説明できますか?そして、この問題の解決策はありますか?