我是编程的新手,我正在尝试使用php / mysql创建一个登录表单,我遇到了一些问题。我无法理解为什么我的sql代码无法执行,我使用localhost。你们能帮助我吗? 谢谢 这是我写的代码
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "login";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
if (isset($_POST['username'])){
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username'".$username."' AND password='".$password."' LIMIT 1";
$res = mysql_query($sql);
if (mysql_num_rows($res) == 1){
echo "You have successfully logged in.";
exit();
}else{
echo "Invalid password information.";
exit();
}
}
?>
答案 0 :(得分:2)
我想你忘记了=
$sql = "SELECT * FROM users WHERE username='".$username."' AND password='".$password."' LIMIT 1";
答案 1 :(得分:1)
简单错字:
变化:
$sql = "SELECT * FROM users WHERE username'".$username."' AND password='".$password."' LIMIT 1";
要:
$sql = "SELECT * FROM users WHERE username = '".$username."' AND password='".$password."' LIMIT 1";
另外,如果你不需要,你不需要从数据库表中获取所有字段。
这会降低页面加载速度。
您只能获取ID字段。
您正在获取行数,因此,您的查询应为:
SELECT id FROM users WHERE username ...