请帮助我不知道这里有什么问题。我已经提交了错误和下面的实际查询。
错误:
UPDATE `WWM_Login` SET `Username`='RyzeAlchemist',`Email`='smadger@live.co.uk',`FirstName`='test',`MiddleName`='test',`LastName`='test',`DiscordID`='@RyzeAlchemist#6043',`P_openCompletedOrders`=1,`P_openCurrentOrders`=1,`P_openRequestedOrders`=1,`P_openCreateAnOrder`=1,`P_OpenEditUsers`=0,`P_CreateStaff`=1,`P_CreateClient`= WHERE UserID = 9
您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在#<用户ID = 9' WHERE UserID = 9'附近使用正确的语法。在第1行
查询:
"UPDATE `WWM_Login` SET `Username`='$uid',`Email`='$email',`FirstName`='$firstname',`MiddleName`='$middlename',`LastName`='$lastname',`DiscordID`='$DiscordID',`P_openCompletedOrders`=$field[1],`P_openCurrentOrders`=$field[2],`P_openRequestedOrders`=$field[3],`P_openCreateAnOrder`=$field[4],`P_OpenEditUsers`=$field[5],`P_CreateStaff`=$field[6],`P_CreateClient`=$field[7] WHERE UserID = $id"
答案 0 :(得分:2)
错误似乎是在您的查询结束时:
`P_CreateClient`= WHERE
不应该这样:
`P_CreateClient`='x' WHERE
其中x是您要设置的值
答案 1 :(得分:0)
用单引号括起变量,如下所示:
P_CreateStaff`= '$field[6]'
这样,如果有一个空到NULL的值,它就会这样。我看到你的一些变量被包含在单引号中,但是当没有值时,MySQL试图寻找等于WHERE的值,那个特定的变量就不是这样,所以它把你的WHERE子句作为条件P_CreateStaff。为避免这种情况,请将所有变量用单引号括起来。