我正在构建一个登录系统。当用户单击提交时,如果输入的凭据"存在"或"不存在",但屏幕上没有显示任何内容,则应输出到屏幕。为什么?此外,我在示例数据库中使用phpmyadmin创建了一个名为"users"的数据库。
<?php
//Database connection
define("HOST", "localhost");
define("USERNAME", "root");
define("PASSWORD", "root");
define("DATABASE", "sample");
?>
index.php
<?php
if(version_compare(PHP_VERSION, "5.2.0", ">")){
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST"){
$mysqli = new mysqli(HOST, USERNAME, PASSWORD, DATABASE);
if($mysqli->connecterrno){
echo "Please fix database connection.";
exit;
}
$prepare_stmt = $mysqli->prepare("SELECT id, username, password FROM users WHERE username = ? AND password = ?");
$prepare_stmt->bind_param("ss", $username, $password);
$username = $_POST['user'];
$password = hash("sha256", $_POST['password']);
$prepare_stmt->execute();
$prepare_stmt->store_result();
echo $password . "<br />";
if($prepare_stmt->num_rows){
echo "Exists";
} else {
echo "Doesn't Exist";
}
} else {
?><form action="" method="POST">
<input type="text" name="user"><br />
<input type="password" name="password"><br />
<button type="submit">Login</button>
</form><?php
}
}else{
?>Please update your PHP Version to suit these code settings.
<?php
}
?>
错误
警告:mysqli::mysqli():(HY000/1045):拒绝用户'root'@'localhost'(使用密码:YES)在第8行的C:''examplep''htdocs''sample''index.php中访问
注意:第9行C:''examplep''htdocs''sample''index.php中的未定义属性:mysqli::$connecterrno
警告:mysqli::prepare():无法在第13行的C:''examplep''htdocs''sample''index.php中获取mysqli
致命错误:在第14行的C:''examplep''htdocs''sample''index.php中的非对象上调用成员函数bind_param()
首先,如果第if($mysqli->connecterrno){
行出现错误,则应使用connect_errno
。其次,您有访问被拒绝的错误,这意味着您的数据库连接凭据是错误的。