1
我正在PHP
中創建一個腳本,它使用連接更新我在MySQL
中的用戶,user_personal和user_extra表。當我使用mysql_query
執行查詢時,它會返回true,但表格不會更新。執行連接更新查詢時,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
功能查詢的一個小測試版返回的資源,相同的結果時,我離不開加入查詢。 我的服務器使用PHP
5.3.3和Apache
版本2.2.15與MySQL服務器5.1.69。
你能解釋這是怎麼發生的嗎?有沒有解決這個問題的方法?
您是否記得提交交易? –
它不是一個事務sql,只是一個普通的查詢。 –
檢查'mysql_affected_rows()'應該是0意味着你的更新語句不匹配任何行。 – DevZer0