mysql登录用户名密码
问题描述:
$servername = "localhost";
$username = "csc4370FA14_18";
$password = "1db23";
$dbname = "csc4370FA14_18";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$username_login = $_POST["username"];
$password_login = $_POST["pw"];
$query2 = mysql_query("SELECT * FROM users WHERE name='$username_login'");
$numrow = mysql_num_rows($query2);
if ($numrow != 0) {
while ($row = mysql_fetch_assoc($query2)) {
$dbusername = $row['name'];
$dbpassword = $row['password'];
}
// Check to see if username and password match
if ($username_login==$dbusername && $password_login==$dbpassword) {
echo "You are in";
}
else {
echo "Sorry $username_login. Incorrect password!";
}
}
这是我用来检查用户是否匹配表中的密码(同一行)的代码。 我得到的错误:mysql登录用户名密码
警告:mysql_query():拒绝用户'apache'@'localhost'(使用密码:否)/ home/csc4370FA14_18/public_html/program/assignments/group project3/login第14行警告:mysql_query():无法在第14行的/ home/csc4370FA14_18/public_html/program/assignments/group project3/login.php中建立到服务器的链接警告:mysql_num_rows()期望参数1到是资源,在/ home/csc4370fa14_18/public_html/program/assignments/group project3/login.php在线15给出的布尔值
我不知道为什么这可能是不正确的,因为登录凭证等工作正常。我认为这与mysqli有关,但我对mysql_ *函数的掌握不够。请帮忙!我知道这是一个正确的连接信息。
答
试试看看这个代码。
$servername = "localhost";
$username = "csc4370FA14_18";
$password = "1db23";
$dbname = "csc4370FA14_18";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$username_login = $_POST["username"];
$password_login = $_POST["pw"];
$query2 = mysqli_query($conn,"SELECT * FROM users WHERE name='$username_login'");
$numrow = mysqli_num_rows($query2);
if ($numrow != 0) {
while ($row = mysqli_fetch_assoc($query2)) {
$dbusername = $row['name'];
$dbpassword = $row['password'];
}
// Check to see if username and password match
if ($username_login==$dbusername && $password_login==$dbpassword) {
echo "You are in";
}
else {
echo "Sorry $username_login. Incorrect password!";
}
}