public function verify_login($email, $password) {
$this->Connect();
`email`=`$email` AND `password`=`$password` ";
$sql = "SELECT email,password FROM `users_details` WHERE
`email`='$email' AND `password`='$password' ";
if ($this->res=mysqli_query($this->ind_connect, $qry)) {
$num_row = mysqli_num_rows($this->res);
$row = mysqli_fetch_assoc($this->res);
if ($num_row == 1) {
echo 'true';
$_SESSION['email'] = $row['email'];
$_SESSION['password'] = $row['password'];
}
} else {
echo 'errr';
}
$this->Disconnect();
}
你好,我试图做简单的查询和功能“mysqli_query($这个 - > ind_connect,$ QRY)”还给我假所有的时间 1.连接返回“真” 2.我试图将查询更改为最简单的查询,如“SELECT * from users_details
and the mysqli_query return to me false again。”mysqli_query返回布尔(假)的所有时间
我不知道从哪里开始。你必须改变你的变量的引号,以便它们可以被解析。单引号不会被php解析。然后,将您的sql保存在'sql'-var中,但是在查询中使用'qry'-var。 –
**警告**:编写您自己的访问控制层并不容易,并且有很多机会使其严重错误。请不要在[Laravel](http://laravel.com/)等任何现代开发框架(http://codegeekz.com/best-php-frameworks-for-developers/)上编写自己的认证系统,内置了强大的[认证系统](https://laravel.com/docs/5.2/authentication)。绝对不要遵循[推荐的安全最佳实践](http://www.phptherightway.com/#security)和**从不将密码存储为纯文本**。 – tadman
**警告**:使用'mysqli'时,您应该使用[参数化查询](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param']( http://php.net/manual/en/mysqli-stmt.bind-param.php)将用户数据添加到您的查询中。 **不要**使用字符串插值或连接来完成此操作,因为您创建了严重的[SQL注入漏洞](http://bobby-tables.com/)。 **绝不**将'$ _POST'或'$ _GET'数据直接放入查询中,如果有人试图利用您的错误,这会非常有害。 – tadman