2012-12-18 4 views
0

Я строю систему входа (PHP). Я пытаюсь создать сценарий восстановления пароля на основе случайных кодов и дату истечения срока их действия. Когда я пытаюсь добавить сгенерированный случайный код в db, ничего не происходит. Вот мой код:Не удается обновить базу данных mysql

forgotpass.php

function procForgotPass(){ 
    global $database, $session, $mailer, $form; 

    $subuser = $_POST['user']; 

    //$expdate=Date('y:m:d', strtotime("+1 day")); 
    $password_token= urlencode($this->nonce()); 
    $database->addkey($subuser, $password_token, "2012-12-19 13:37:14"); 
} //THE CODE IS LONGER, JUST MAKING IT SIMPLE 

function nonce($size=32){//256 bit == 32byte. 
$ret=""; 
for($x=0;$x<$size;$x++){ 
    $ret.=chr(mt_rand(0,255)); 
} 
return base64_encode($ret); } 

database.php

function addkey($username, $key, $date){ 
    $w = "INSERT INTO ".TBL_CODES." (username, Key, expDate) VALUES ('$username', '$key', '$date')"; 
    return mysql_query($w, $this->connection); } 

Я не буду размещать соединение(), потому что он работает (я могу зарегистрировать пользователей и и т.д). Что это может быть?

Я могу выполнить такой код, чтобы создать пользователей, но этот не работает.

ответ

3

Вам необходимо набрать:

`key` 

не

key 

Слово key зарезервирован в MySQL.

+0

как? спасибо за ответ – user1650531

+0

большое спасибо! работая сейчас ... – user1650531

+0

Спасибо за редактирование @Shredder Я новичок и не знаю, как писать гравюры: P – Damonsson

Смежные вопросы