2015-03-03 49 views
-1

*您好,我總是得到錯誤查詢失敗,但我沒有得到關於Apache2的錯誤日誌查詢關於mSQL的數據庫更新失敗

我想更改帳戶密碼,而不登錄在網站上。

希望有人能幫我解決這個問題。

//消毒POST值

$login = clean($_POST['login']); 

$email = clean($_POST['email']); 

$newpw = clean($_POST['newpass']); 

$cnewpw = clean($_POST['cnewpass']); 





//Input Validations 

if($login == '') { 

    $errmsg_arr[] = 'Login ID missing'; 

    $errflag = true; 

} 

if($email == '') { 

    $errmsg_arr[] = 'Email missing'; 

    $errflag = true; 

} 

if($newpw == '') { 

    $errmsg_arr[] = 'Password missing'; 

    $errflag = true; 

} 

if($cnewpw == '') { 

    $errmsg_arr[] = 'Confirm password missing'; 

    $errflag = true; 

} 

if(strcmp($newpw, $cnewpw) != 0) { 

    $errmsg_arr[] = 'Passwords do not match'; 

    $errflag = true; 

} 

//檢查是否有重複的登錄ID

if($login != '' && $email != '') { 

    $qry = "SELECT * FROM t_account WHERE name='$login' AND email='$email'"; 

    $result = mysql_query($qry); 

    if($result) { 

     if(mysql_num_rows($result) < 1) { 

      $errmsg_arr[] = 'Username and or Email is not in our system!'; 

      $errflag = true; 

     } 

     @mysql_free_result($result); 

    } else { 

     die("Query Failed"); 

    } 





//Create update query 

$qry = "UPDATE t_account SET (pwd, pw2) VALUES('".md5($_POST['newpass'])."','$newpw')"; 

$result = @mysql_query($qry); 



//Check whether the query was successful or not 

if($result) { 

    header("location: register-success.html"); 

    exit(); 

}else { 

    die("mysql_error"); 

} 

} 

?>

*

回答

0

您可以通過phpMyAdmin的更改密碼。檢查密碼生成器代碼。我猜想它一定是md5。

0

在您輸入,如果嘗試打印$ QRY字符串的值,複製粘貼旅遊SQL客戶端,看看你會得到什麼

0

您的SQL語法爲您更新字符串是不正確的(至少在ANSI-SQL)。

它是

INSERT INTO table (col1,col2) VALUES... 

UPDATE table set col1=val1, col2=val2 WHERE...