2012-04-01 19 views
1

私はデータベースに接続していて、新しいものでプロファイルと呼ばれる既存の文字列を更新(オーバーライド)します。MySQL:更新ステートメントはエラーは表示されませんが、何も変更されません。

$uid = 1; 
$serProfile = 'abc'; 

$sql = 'UPDATE 
      Users 
     SET 
      profile = ? 
     WHERE 
      id = ?'; 
$stmt = $db->prepare($sql); 
if (!$stmt) { safeExit($db->error, 'msgError'); } 
$stmt->bind_param('si', $serProfile, $uid); 
if (!$stmt->execute()) { safeExit($stmt->error, 'msgError'); } 
$stmt->close(); 

ただし、変数は存在しますが、フィールドは存在し、エラーはなく、データベースの値は変更されません。この問題を解決するには?

+0

?自動コミット時に設定されていますか? – giorashc

+0

私はページを再作成するときにコミットします。 – u7f1mrfpf

+0

それはPDOかmysqliですか? –

答えて

0

テスト何コミットについては、この1

$sql = 'UPDATE Users SET profile = :profile WHERE id = :id'; 
$stmt = $db->prepare($sql); 
$stmt->execute(array('id'=>$uid,'profile'=>$serProfile)); 
+0

動作しませんでした。エラー:致命的なエラー:行 "$ stmt-> execute(array( 'id' => $ uid、 'profile' => $ serProfile)); " – u7f1mrfpf

関連する問題