我正在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。
你能解释一下这是怎么回事吗?这个问题有解决方案吗?
答案 0 :(得分:0)
我已经阅读了PHP.net上的文档,并在使用INSERT,UPDATE,DELETE,DROP时学会了该方法返回true或false
使用SELECT,SHOW,DESCRIBE,EXPLAIN时,查询成功时会获得资源,查询失败时会获得错误。
感谢你们的评论。