2017-04-19 1 views
0

전자 메일 확인 페이지를 만들고 있지만 사용자가 전자 메일의 링크를 클릭하면이를 수락 페이지로 가져옵니다. 그러나 페이지가로드되면이 오류와 함께 반환됩니다.전자 메일 확인 페이지 오류 반환

경고 : mysql_fetch_assoc()는 매개 변수 (1) 나는 그것이 while 문에 대해 이야기 알고 15

<?php 
include 'includes/dbh.php'; 

$username = $_GET['username']; 
$code =$_GET['code']; 

$sql= "SELECT * FROM users WHERE username='$username'"; 

$result= mysqli_query($conn, $sql); 

if (! $result){ 
    throw new My_Db_Exception('Database error: ' . mysql_error()); 
} 

while($row = mysql_fetch_assoc($result)) { 
    $db_code = $row['confirm_code']; 
} 

if($code == $db_code) { 
    $sql2 = "UPDATE users SET confirmed=1 WHERE username='$username'"; 
    $result2 = mysqli_query($conn, $sql2); 

    $sql3 = "UPDATE users SET confirm_code=0 WHERE username='$username'"; 
    $result3 = mysqli_query($conn, $sql3); 
    echo "It worked!"; 

} else { 
    echo "Error: Username and code dont match!"; 
} 

?> 

는하지만되어 줄에 /home/gener105/public_html/email_confirm.php에 주어진 자원, 객체가 될 것으로 예상 그것의 이야기에 대해 조사한 결과 나는 $ 결과 변수가 매개 변수가되어야한다는 것을 혼란스럽게 생각했습니다. 나는 그것을 알고

답변

1

당신은

$result= mysqli_query($conn, $sql); 

mysqli_fetch_assoc 
+0

OMG에

mysql_fetch_assoc 

을 대체 결과를 얻을 수 mysql_fetch_assoc를 사용하지만, mysqli 확장으로 쿼리를 실행! 어떤 이유로 나는 sqli가 아닌 SQL을 입력했지만 앞으로는 훨씬 더주의를 기울여서 코드를 더욱 안전하게 만들 것입니다. – cosmichero2025