MySQLi不会更新我的查询/查询

时间:2016-01-02 13:13:32

标签: php mysql mysqli

您好,我在更新数据库中的表时遇到问题。对不起,如果已经问过这个问题,但所有问题都没有解决我的问题。希望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'";

我使用的所有方法都没有更新我的表。 事情是它甚至没有给我一个错误,所以我可以解决问题。

任何帮助都将是一个很好的帮助,谢谢你。

1 个答案:

答案 0 :(得分:0)

评论太长了。

首先,如果您使用的是mysqli_,则在查询中使用参数,而不是字符串替换。这是一个很好的习惯。

接下来,您正在进行更新,表之间没有任何正式的连接条件。如果任何条件不匹配(例如,如果其中一个表没有匹配的orgcodeorgname),那么就没有行。

但最重要的是,您的数据未正常化。为什么要在orgcodeorgname中同时存储announcementsmemberslist?您应该将组织名称存储在一个表中(我猜是orglistorgcode是主键的东西)。然后,您应该只更新 该表。您可以在需要时通过加入其他表来访问该名称。