2013-01-09 61 views
0

理論上我會告訴你可以使用的代碼,我的意思是說,這是有道理的,但我無法在表中找到任何改變! :\無法更新/更改數據庫中的字段值

所以,這裏是代碼:

else if ($mode == 'password') { 
    $generated_password = substr(md5(rand(999,999999)), 0, 8); 
    change_password($user_data['user_id'],$generated_password);   
    update_user($user_data['user_id'], array('password_recover' => '1')); 
    email($email, 'Your new password', "Hi," . $user_data['nome'] . " \n\nYour new password is: " . $generated_password . ""); 
} 

功能:

function update_user($user_id,$update_data){ 
    $update = array();  
    array_walk($update_data, 'array_sanitize'); 
    foreach($update_data as $field => $data) { 
      $update[]='`' .$field. '`=\'' .$data . '\''; 
    } 
    mysql_query("UPDATE users SET " . implode(', ',$update) . "WHERE user_id = '$user_id'"); 
} 

function change_password($user_id,$password) { 
    $user_id = (int) $user_id; 
    $password = md5($password); 

    mysql_query("UPDATE users SET password = '$password' WHERE user_id = $user_id"); 
} 

我還沒有寫電子郵件功能,因爲這工作。提前致謝! :)

回答

0

您應該添加某種錯誤處理到您的代碼。在每個mysql_query()之後至少添加or die('Error: '.mysql_error())以至少了解執行查詢時出錯的一些信息。

如果你只是從某個地方取得代碼,並不真正瞭解它的功能,如果它沒有做到你想做的事情,請不要驚訝。