2016-09-19 15 views
-3

データベースにPDOを更新する際に問題が発生しました。特定の変数のみが更新され、その他は更新されません。 の仕事をしない唯一のものは "PvP"変数です。私はPDOのエラーを見ることができないので、ここで何が起こっているのか全く分かりません。 "$ epa_array"などは、json_decodeから解析されたint値を持つ配列です。更新時に問題が発生するPDO

私は、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(); 

答えて

0

は唯一の問題ではないかもしれません - しかし、あなたは、WHERE句の前の最後のカンマは必要ありません - それは次のようになります。

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

問題だった正確に何が。 4時間後に笑!ありがとうございました! – Kevin

+0

心配する必要はありません。それと幸運:) – gavgrif

関連する問題