我正在用Netbeans在 PHP 中建立注册/登录格式。 为了执行此功能, 我在一个脚本. php 文件中拥有我的登录、 注册和数据库连接功能, 它通过包含的电话装入 。
我的登录功能用这个
$username = mysql_real_escape_string($_POST[ username ]);
$password = sha1(mysql_real_escape_string($_POST[ password ]));
$query = sprintf("SELECT * FROM users WHERE username= %s AND password= %s ", $username, $password);
$link = connectDB();
$results = mysqli_query($link, $query);
以连接到 db 并获取结果。验证将在以后进行。
我的注册逻辑,我几乎用同样的东西:
$username = mysql_real_escape_string($_POST[ username ]);
$password = mysql_real_escape_string($_POST[ password ]);
//check if user name and password match conditions
$link = connectDB();
$query = "SELECT * FROM users WHERE username = " . $username . " ";
$results = mysqli_query($link, $query);
注册页加载精细, 但登录页有错误的文字打印, 表示登录函数中有一个未定义的索引用户名。 这在页面加载时发生, 没有调用任何函数 。
然而,由于注册功能的布局几乎相同,我不明白错误。
为什么发生这种情况?
<强 > EDIT 强 >
我找到问题了
我当时使用 mysqli_ connect
打开数据库连接,但使用 mysql-real_escape_string
函数。 两者不兼容, 添加 >
使所有功能都不同 。