您好,我在更新数据库中的表时遇到问题。对不起,如果已经问过这个问题,但所有问题都没有解决我的问题。希望stackoverflow社区考虑这个
我有桌子 - (orglist,公告和成员列表) 我想在任何可能的mysql函数中更新它们。我试过了:
我使用的第一个方法是:3 mysqli_query(3个更新查询)
if((mysqli_query($conn, orglistupdate) && mysqli_query($conn, announcementsupdate) && (mysqli_query($conn, memberslistupdate))
第二次是我使用了函数mysqli_multi_query
而最后一个正在使用join Ex。以下
$update = "
UPDATE orglist, announcements, memberslist
SET orglist.orgName = '$orgname',
orglist.subjectArea = '$subjectarea',
orglist.schoolyear = '$sy',
orglist.semester = '$sem',
memberslist.orgName = '$orgname',
announcements.orgName = '$orgname'
WHERE orglist.managerID = '$managerID' AND
orglist.orgCode = '$validationOrgCode' AND
memberslist.orgName = '$validationOrgName' AND
memberslist.orgCode = '$validationOrgCode' AND
announcements.orgName = '$validationOrgName' AND
announcements.orgCode = '$validationOrgCode'";
我使用的所有方法都没有更新我的表。 事情是它甚至没有给我一个错误,所以我可以解决问题。
任何帮助都将是一个很好的帮助,谢谢你。
答案 0 :(得分:0)
评论太长了。
首先,如果您使用的是mysqli_,则在查询中使用参数,而不是字符串替换。这是一个很好的习惯。
接下来,您正在进行更新,表之间没有任何正式的连接条件。如果任何条件不匹配(例如,如果其中一个表没有匹配的orgcode
或orgname
),那么就没有行。
但最重要的是,您的数据未正常化。为什么要在orgcode
和orgname
中同时存储announcements
和memberslist
?您应该将组织名称存储在一个表中(我猜是orglist
或orgcode
是主键的东西)。然后,您应该只更新 该表。您可以在需要时通过加入其他表来访问该名称。