2013-03-23 1 views
1

내가 조금 미니 등록 양식을 완료 등록 지정할에서 데이터를 가져 오기 당신은 사용자 이름, 암호, 메시지를 입력하고 다음과 같은 colums와 MySQL의에 삽입되는 위치 :단지 사용자

username password id message date time country recover_id 

이러한 의미 :

 // Let's store these into a session now. 
     $username = $_SESSION['user']; 
     $password = $_SESSION['pass']; 

     //Now let's refresh the page, to a different header. 
     header('Location: recover.php?recovery=success'); 
    } 

이 우리를 저장 :

ID = a random generated ID, for later use. 

Time = Time of creation 
Date = date of creation 
Country = empty, later use.. 

Recover_id = the ID of the registration. 

등록 후, 나는 이렇게 ername을 입력하고 세션에 전달한 다음 새 헤더를 작성하십시오.

내가 시도하고 지정 사용자 이름의 콜럼로 이동 및 recovery_id, 또는 ID 자체로, 그것으로부터 정보를 가져 오려는 다음

} 
else if (isset($_GET['recovery']) && $_GET['recovery'] == 'success') 
{ 
    $fetch = $connect->query("SELECT * FROM users WHERE username = ':username' LIMIT 1"); 
    $fetch->bindValue(':username', $_SESSION['user']); 
    $fetch->execute(); 

    while($row = mysql_fetch_array($fetch)) { 
    echo $row['recover_id']; 
    } 
} 

.

하지만이

Warning: mysql_fetch_array() expects parameter 1 to be resource, object given in C:\xampp\htdocs\recover\recover.php on line 103 

내가 뭔가 잘못하고 메신저를 알고하지만 아무튼? 감사합니다.

답변

1

(매우 만족 스럽습니다)을 사용하고 있으므로 mysql_* 기능을 호출 할 수 없습니다.

대신 PDO의 fetch() 방법을 사용하십시오. 라는 이름의 인덱스를 사용하여 데이터를 검색 할 수 있도록

while($row = $fetch->fetch(PDO::FETCH_ASSOC)) { 
    echo $row['recover_id']; 
} 

당신은 매개 변수로 PDO::FETCH_ASSOC을 통과해야합니다.

+0

고마워요! 는이 오류를 얻을 : 공지 사항 : 정의되지 않은 인덱스 : C의 사용자 : \ XAMPP \ htdocs를 \ 라인 (100)에 \의 recover.php를 복구 라인 100 : \t \t $ fetch-> bindValue ('이름', $ _SESSION [ 'user']); –

+0

'$ _SESSION [ 'user']'이 (가) 존재하지 않습니다. – hjpotter92

+0

하지만 어떻게 가능할까요? 나는 세션을 만들고 나서 헤더를 움직이고있다. + 세션 시작이 필요합니다. http://pastebin.com/7NeaGer8 –