我已经在互联网上的各种PHP验证器上运行过这段代码,它表明这两个函数(mysql_query,mysql_result)在当前版本的PHP中已被弃用。
即使我在登录表单中输入的用户名和密码与数据库/phpMyAdmin中的用户名和密码完全相同,以下代码也无法正确执行吗?
<?php
function user_exists($username){
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(user_Id) FROM `users` WHERE `username` = '$username'"), 0) == 1) ? true : false;
}
?> 发布于 2017-04-12 20:04:28
这应该是可行的:
$sqluserandpass = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($con, $sqluserandpass);
$check = mysqli_fetch_array($result);
if(isset($check)){
//User is existed
}else{
//User is not existed
{您还应该通过简单地执行以下操作来避免SQL注入:
$stmt = $conn->prepare("SELECT * FROM users WHERE (username, password) VALUES (?, ?)");
$stmt->bind_param("ss", $username, $password);
//execute
$stmt->execute();希望这对您有用:)
https://stackoverflow.com/questions/43368895
复制相似问题