2016-04-28 20 views
-1

ユーザーのパスワードをリセットするためのチェックとしてデータベースを更新しようとすると、完全な「パスワードを忘れました」ページが死ぬ。私は本当にどこが間違っているのか分かりません。誰かが私にこれを解決させるのを助けることができるかデータベースにアクセスしようとするとコードが破損する

function mailer($to, $user) 
{ 
$result = ""; 
$chars = "abcdefghijklmnopqrstuvwxyz_?!-"; 
$charArray = str_split($chars); 
for($i = 0; $i < 10; $i++){ 
    $randItem = array_rand($charArray); 
    $result .= "".$charArray[$randItem]; 
} 
$updateStmt = $db -> prepare('UPDATE Gebruiker SET Code = ? WHERE Gebruikersnaam = ?;'); 
$updateStmt -> execute(array($result, $user)); 
$updateStmt-> closeCursor(); 

エラーログには、次の言葉:

[28-Apr-2016 16:56:47 America/New_York] PHP Notice: Undefined index: loggedin in /home/joeynlxj/public_html/fnb/layout/header.php on line 71 
[28-Apr-2016 16:56:47 America/New_York] PHP Notice: Undefined variable: db in /home/joeynlxj/public_html/fnb/pages/forgotpass.php on line 11 
[28-Apr-2016 16:56:47 America/New_York] PHP Fatal error: Call to a member function prepare() on a non-object in /home/joeynlxj/public_html/fnb/pages/forgotpass.php on line 11 

私のデータベースはうまく動作しますが、それは別のファイルを介して使用されます。

+0

エラーログには何もありませんか? –

+0

バックトラック( ')はMySQLの_field names_を示すために使用されます(http://stackoverflow.com/a/11321508/2137833も参照)。クエリはまったく実行されていますか? – Rick

+3

[単一引用符、二重引用符、およびバッククォートを使用する場合]の複製がありますか?(http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks) – fusion3k

答えて

1

関数内からデータベースに再接続します。

私の場合は、コードにrequire('../fnb/core/database.php')を追加するだけでした。

+0

私はいつも物事を修正できる人を賞賛しました。 –

関連する問題