0

PHP結合を使用してユーザー、user_personal、および user_extra テーブルを更新するスクリプトを作成していますMySQL。それを使用してクエリを実行すると、 mysql_querytrue が返されますが、テーブルは更新されません。

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 でPHP5.3.3 およびバージョン 2.2.15 を使用しています。Apache

これがどのように起こるか説明できますか?そして、この問題の解決策はありますか?

4

1 に答える 1

0

I've read the documentation on PHP.net and learned when using INSERT, UPDATE, DELETE, DROP the method returns true or false

When using SELECT, SHOW, DESCRIBE, EXPLAIN you get an resource when the query is successful and false when the query failed.

Thanks for the comments guys.

于 2013-07-15T13:58:54.350 に答える