2017-02-12 73 views
0

所以我刚开始学习PHP,并且按照一个老的指南去做一些我感兴趣的东西。整个指南使用了旧的弃用的mysql函数,所以我决定冒险从我在PHP中的小经验中尝试修复一切我。我决定迁移到mysqli,因为与PDO相比,它似乎是一个更容易的选择。一切似乎都运行良好,直到我意识到我的用户登录不起作用。这里是我如何设置:如何正确使用MySQLI查询和获取?

$password = md5($_POST['user_password']); 
$sql = "SELECT * FROM users 
     WHERE user_email = '$user_email' 
     AND user_password = '$password'"; 
$result = mysqli_fetch_assoc($link->query($sql)); 

$_SESSION['user_id'] = $result['user_id']; 
$_SESSION['user_acl_id'] = $result['user_acl_control_id']; 
$_SESSION['user_first_name'] = $result['user_first_name']; 
$_SESSION['user_last_name'] = $result['user_last_name'];` 

每当我尝试通过登录输入密码,它告诉我我是错的,即使它是正确的。我怀疑我的问题是此行中:

$result = mysqli_fetch_assoc($link->query($sql)); 

导原本是这样的:

$password = md5($_POST['user_password']); 

$sql = "SELECT * FROM users WHERE user_email = '$user_email' AND user_password = '$password'"; 
$result = mysql_fetch_assoc(mysql_query($sql)); 

$_SESSION['user_id'] = $result['user_id']; 
$_SESSION['user_acl_id'] = $result['user_acl_control_id']; 
$_SESSION['user_first_name'] = $result['user_first_name']; 
$_SESSION['user_last_name'] = $result['user_last_name']; 

我将不胜感激,如果有人可以帮助我!提前致谢!

回答

1

给它这样

$result = mysqli_fetch_assoc(mysqli_query($con,$sql)); 

替换$con您的连接名称

+0

谢谢!这工作就像一个魅力! – user405892

+0

它现在显示什么?尝试'echo $ result ['user_id'];'在该行后面 – affaz

+0

@ user405892欢迎:) – affaz