MySQL/PHP:无法从数据库中选择,但元素存在
我知道有人问了很多,但我似乎找不到适合我的答案。在PHPMyAdmin中,用户名“user”和密码“test”存在——但出于某种原因,它一直说不存在。代码的输出为: 已成功连接到DB电子邮件:*用户*密码:*测试*用户名和密码不匹配 代码如下:MySQL/PHP:无法从数据库中选择,但元素存在,php,mysql,sql,select,mysqli,Php,Mysql,Sql,Select,Mysqli,我知道有人问了很多,但我似乎找不到适合我的答案。在PHPMyAdmin中,用户名“user”和密码“test”存在——但出于某种原因,它一直说不存在。代码的输出为: 已成功连接到DB电子邮件:*用户*密码:*测试*用户名和密码不匹配 代码如下: $con = new mysqli('somewhere.com','admin','*****','nameofdb'); if($con->connect_errno > 0){ die('Unable to co
$con = new mysqli('somewhere.com','admin','*****','nameofdb');
if($con->connect_errno > 0){
die('Unable to connect to database [' . $con->connect_error . ']');
}
else{
echo "Successfully connected to DB ";
}
$email = mysqli_real_escape_string($con, $_POST['eml']);
$password = mysqli_real_escape_string($con, $_POST['pwd']);
//$encrPassword = md5($password);
$login = $con->query("SELECT *
FROM logininfo
WHERE email = $email
AND password = $password");
if($login == FALSE){
echo " email:*$email* ";
echo " password:*$password* ";
//echo " password:*$encrPassword* ";
echo "Username and Password does not Match";
}
else {
echo "Hey this works";
//Check if user is logged in, if not then redirect.
/*session_start();
if($_SESSION['loggedin'] == FALSE){
$_SESSION['loggedin'] = TRUE;
$_SESSION['username'] = $username;
}*/
header("Location: ../browse/index.php");
}
mysqli_close($con);
查询中有一个错误,如果您回显查询并在mysql上测试它,可能更容易调试,您可以执行以下操作:
$query = "SELECT *
FROM logininfo
WHERE email = $email
AND password = $password";
echo $query;
祝你好运 查询变量周围必须有引号吗 从sometable中选择*,其中somecol='$someVar'和someothercol='$someothervar' 两个简单的步骤 1.在phpmyadmin中检查您的数据库,确保这些用户名和密码与您输入的用户名或密码匹配。如果是,则返回查询以了解查询中的内容。 2.如果是,请确保在注册时使用md5加密,如果使用,请在登录时解密,如
$password=md5($password);
我使用的是md5加密,但后来将其取出以帮助调试过程。每当我回显我从用户那里得到的查询:DB SELECT*,其中email=test和password=test,DB中的md5密码长度不应太短,请删除注册和登录中的加密,然后重试。我删除了所有加密。不走运|$email=mysqli\u real\u escape\u string($con,$\u POST['eml'])$password=mysqli\u real\u escape\u字符串($con,$\u POST['pwd'])$query=“从用户处选择(电子邮件、密码),其中电子邮件=$email,密码=$password”;如果($result=mysqli_query($con,$query)){echo“Hey this works”;您的查询是错误的,请删除select子句write like后的括号,并在电子邮件和密码周围使用单引号写下“select*FROM users,其中email='$email'和password=$password”“。使用mysql_query()而不是mysqli_query()