我正在我的项目上执行登录页面,我必须检查我获得的“用户名”是否在数据库中
我试图获取查询并将结果保存在变量中
// #########login.php############
<html>
<head>
<title>Login</title>
</head>
<body>
<form id="form" action="login-action.php" method="post">
<input type="text" id='usuario' name='usuario' placeholder="Usuario">
<input type="password" id='password' name='password' placeholder="Contraseña">
<input type="submit" value="Login">
</form>
</body>
</html>
<?php
<?php
// #########login-action.php############
$usuario = $_POST["usuario"];
$password = $_POST["password"];
function comprobarLogin ($dbh, $usuario){
$data = array("usuario" => $usuario);
$stmt = $dbh->prepare("SELECT nomUsuario FROM Usuarios Where nomUsuario = :usuario");
$stmt->setFetchMode(PDO::FETCH_OBJ);
$stmt->execute();
$row = $stmt->fetch();
if($row == null){
echo $usuario;
require "login.php";
}
else {
require "index.php";
}
}
include "conexionBD.php";
$dbh = connect();
comprobarLogin($dbh,$usuario);
?>
if($row == null){ echo $usuario; require "login.php"; } else { require "index.php"; }
即使用户确实存在,也永远不会显示其他结果 因此,变量$ row始终为空
答案 0 :(得分:1)
您还必须使用已经准备好的参数
替换
$stmt->execute();
使用
$stmt->execute($data);