2017-06-03 98 views
-1

所以我有这个查询在这里不工作,表存在,数据加载正确,用户ID存在什么是错的?Mysqli更新查询dosn't工作

$sql = 
sprintf(" 
UPDATE leagueoflegends 
    SET solotier = '%s' 
    , solotiername = '%s' 
    , winssolo = %d 
    , lossessolo = %d 
    , ranksolo = '%s' 
    , lpsolo = %d 
WHERE accountId = %d" 
, $solotier 
, $solotiername 
, $winssolo 
, $lossessolo 
, $ranksolo 
, $lpsolo 
, $accountid 
); 
$db->query($sql); 
+0

您是否检查您的查询是否返回任何错误? –

+0

删除占位符周围的引号。 – Mihai

+0

'%s'似乎格式化字符串的python样式。在php中没有看到这样的参数注入.. weirdoo - )) – marmeladze

回答

-1

所以我solotiername变量有一个'在它并打破了查询。

+2

参数化该查询的时间。 http://php.net/manual/en/mysqli.quickstart.prepared-statements.php ...和/或使用错误报告http://php.net/manual/en/mysqli.error.php – chris85

+0

尽管这是你的解决方案;它的质量很差,应该更新一个更好的答案,包括你做了什么来解决它。由于sql注入,此问题也基于此而关闭。 –

+0

你也可以在评论区域做出回应;他们和答案一样有用。 –