gpt4 book ai didi

php - 在我的数据库中使用 mysql 确认数据时出现问题

转载 作者:行者123 更新时间:2023-12-01 00:45:13 25 4
gpt4 key购买 nike

好吧,我一直在使用 mysql 与我的网站一起使用,但是它的某些语法并不顺利。我已经阅读了它,但我觉得我仍然做错了......在下图中,我定义了数据库变量,然后尝试登录到我的数据库,其中包含“ID”、“用户名”和“密码”。然后我在 php 中定义了我的表单中的用户名和密码输入,并要求数据库进行比较......我错过了什么吗?我觉得它不是将表单中的数据与数据库中的数据进行比较。即使我输入错误的密码也能正常工作..

//Name of File: LoginCheck.php <--Called with the Login.php (which has a form on it) 
//posts information to LoginCheck.php
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'blah');
define('DB_PASS', 'blah');
define('DB_NAME', 'Profiles');
$con = mysql_connect(DB_HOST, DB_USER, DB_PASS);
if(!$con){
die('Could not connect. ' . '<br/>' . 'Error: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $con);
if(!$db_selected){
die('Could not select database: ' . DB_NAME . '<br/>' . 'Error: ' . mysql_error());
}
//defines login variables from the form.
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$login = mysql_query("SELECT * FROM Users WHERE Username = '$username' AND Password = '$password'", $con);
if(!$login){
echo 'Error: ' . mysql_error();
echo "Didn't log in. Not matching database intel.";
}else{
echo "Logged in matching database intel.";
}
mysql_close($con);
?>

最佳答案

mysql_query() 只返回一个资源。然后,您可以使用该资源获取该数据或有关查询的更多信息。

您可以使用 mysql_num_rows() 来查看您的查询是否成功:

if(!mysql_num_rows($login)){

仅供引用,您不应该以明文形式存储密码。这是一个巨大的安全禁忌。

Please, don't use mysql_* functions in new code .它们不再维护 and are officially deprecated .查看red box ?了解 prepared statements相反,并使用 PDOMySQLi - this article将帮助您决定选择哪个。如果选择 PDO,here is a good tutorial .

关于php - 在我的数据库中使用 mysql 确认数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23002172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com