Hola a todos estoy desarrollando una aplicación en PHP que contiene procedimientos almacenados pero no les he trabajado muy bien en MySQL
entonces mi pregunta es si me pueden ayudar haber cual es el error que tengo.
Estoy tratando de hacer un login simple donde se ingresa el usuario, password y se consulta en la BD si el usuario existe y me muestre un mensaje de confirmación, pero el problema es cuando llamo el procedimiento en PHP la consulta me llega vacia, pero si lo pruebo en la consola de mysql el procedimiento me devuelve los datos correctos.
codigo de la tabla, la base de datos se llama usuariosbanco
Código:
CREATE TABLE IF NOT EXISTS `usuarios` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Nombre` varchar(100) NOT NULL,
`Password` varchar(100) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
INSERT INTO `usuarios` (`Id`, `Nombre`, `Password`) VALUES
(1, 'Anna', 'admin');
1.Aqui esta el codigo del procedmiento almacenado
Código:
CREATE PROCEDURE precioDolar5(
IN nom varchar (100),
OUT nombi varchar(100),
OUT passo varchar(100)
)
BEGIN
DECLARE c CURSOR
FOR SELECT nombre, password
FROM usuarios u
WHERE u.nombre = nom;
SET nombi = "";
SET passo = "";
OPEN c;
FETCH c INTO nombi, passo;
CLOSE c;
SELECT @nombi,@passo;
END$$
2. Codigo PHP que ejecuta el procedmiento y valida
Código PHP:
<?php
session_start();
if (isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
echo $username;
if ($username == "" && $password = "") {
require "../Forms/Login.php";
} else {
$link = mysql_connect("localhost", "root", "");
mysql_select_db("usuariosbanco", $link);
$consulta = mysql_query("call precioDolar5('" . $username . "',@nombi,@passo)") or die('La consulta fallo;:' . mysql_error());
$rowValues = Array();
while ($linea = mysql_fetch_array($consulta, MYSQL_ASSOC)) {
foreach ($linea as $valor_col) {
$rowValues[] = $valor_col;
}
}
if ($password == $rowValues[1] && $rowValues[0] == $username) {
echo "datos correctos";
} else {
echo 'Sus datos no son correctos';
}
}
}
if (isset($_GET['start'])) {
require "../Forms/index.php";
}
?>
3.Formulario que envia la petición
Código HTML:
<html>
<head>
<title>Bienvenido</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK REL=StyleSheet HREF="../Themes/skin.css" TYPE="text/css" MEDIA=screen>
</head>
<body>
<center>
<form action = "../events/eventsFrmLogin.php" method ="post">
Username: <input type="text" name="username" value=""><br>
Password: <input type="password" name="password" value=""><br>
<input type="submit" name="login" value="login"><br>
</form>
</center>
</body>
</html>
4. Index de la aplicación PHP
Código PHP:
<?php
// put your code here
header("location:Events/eventsFrmLogin.php?start=yes");
?>
Si me pueden ayudar se los agradeceria pues no he encontrado la solución