Php PDO在更新时出现问题

Php PDO在更新时出现问题,php,mysql,pdo,Php,Mysql,Pdo,我在PDO更新数据库时遇到了一个问题,只有某些变量会更新,而其他变量不会。唯一不起作用的是“PvP”变量。我看不到PDO有任何错误,所以我完全不知道这里发生了什么。“$epa_数组”等。。只是一个数组,其中包含从json_decode解析的int值 我已经验证了mysql列实际上是INT类型,并且相应的PDO查询也是INT类型 $u_id = 1; $gw2_name = $epa_array[0]['name']; $gw2_world_id

我在PDO更新数据库时遇到了一个问题,只有某些变量会更新,而其他变量不会。唯一不起作用的是“PvP”变量。我看不到PDO有任何错误,所以我完全不知道这里发生了什么。“$epa_数组”等。。只是一个数组,其中包含从json_decode解析的int值

我已经验证了mysql列实际上是INT类型,并且相应的PDO查询也是INT类型

$u_id               = 1;
$gw2_name           = $epa_array[0]['name'];
$gw2_world_id       = $epa_array[0]['world'];
$gw2_world_name     = $epw_array[0]['name'];
$PvP_rank           = $pvp_array[0]['pvp_rank'];
$PvP_total_wins     = $pvp_array[0]['aggregate']['wins'];
$PvP_total_losses   = $pvp_array[0]['aggregate']['losses'];
$PvP_rank_points    = $pvp_array[0]['pvp_rank_points'];

$stmt = $db->prepare("UPDATE `Members` SET gw2_name = ?, WorldID = ?, Worldname = ?, PvP_rank = ?, PvP_total_wins = ?,PvP_total_losses = ?, PvP_rank_points = ?, WHERE ID = ?");
$stmt->bindValue(1, $gw2_name, PDO::PARAM_STR);
$stmt->bindValue(2, $gw2_world_id, PDO::PARAM_INT);
$stmt->bindValue(3, $gw2_world_name, PDO::PARAM_STR);
$stmt->bindValue(4, $PvP_rank, PDO::PARAM_INT);
$stmt->bindValue(5, $PvP_total_wins, PDO::PARAM_INT);
$stmt->bindValue(6, $PvP_total_losses, PDO::PARAM_INT);
$stmt->bindValue(7, $PvP_rank_points, PDO::PARAM_INT);
$stmt->bindValue(8, $u_id, PDO::PARAM_INT);
$stmt->execute();

可能不是唯一的问题-但不需要WHERE子句前的最后一个逗号-应该是:

 ....PvP_rank_points = ? WHERE ID = ?");

这正是问题所在。4小时后哈哈!非常感谢。