电子邮件确认页面返回错误

时间:2017-04-19 02:23:27

标签: php sql

我正在制作电子邮件确认页面,但当用户点击电子邮件中的链接时,会将其带到接受页面。当页面加载时,它会返回此错误。

警告:mysql_fetch_assoc()期望参数1是资源,第15行/home/gener105/public_html/email_confirm.php中给出的对象

<?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!";
}

?>

我知道它在讨论while语句,但我一直在研究它的讨论内容,我感到困惑,我认为$ result变量应该是参数。

1 个答案:

答案 0 :(得分:1)

使用mysql_fetch_assoc获取结果,但使用mysqli扩展名执行查询

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

替换

mysql_fetch_assoc

mysqli_fetch_assoc