簡體   English   中英

當執行聯接的UPDATE查詢時,mysql_query返回true

[英]mysql_query returns true when executing joined UPDATE query

我正在PHP中創建一個腳本,該腳本使用聯接更新MySQL用戶,user_personal和user_extra表。 當我使用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。

您能解釋一下這是怎么發生的嗎? 有解決這個問題的方法嗎?

我已閱讀PHP.net上的文檔,並了解了在使用INSERT,UPDATE,DELETE,DROP時該方法返回true或false

使用SELECT,SHOW,DESCRIBE,EXPLAIN時,如果查詢成功,您將獲得資源;如果查詢失敗,則將獲得資源。

感謝您的評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM