Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] consulta php y mysqli devuelve siempre 0

Estas en el tema de consulta php y mysqli devuelve siempre 0 en el foro de PHP en Foros del Web. compañeros y maestros requiero su ayuda con una función , la cual es de un sistema de logueo , el tema es que siempre me ...
  #1 (permalink)  
Antiguo 02/12/2015, 11:17
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 9 años, 9 meses
Puntos: 36
consulta php y mysqli devuelve siempre 0

compañeros y maestros requiero su ayuda con una función , la cual es de un sistema de logueo , el tema es que siempre me devuelve 0 y por resultado me da un mensaje que dice que no existe en el usuario.

aun cuando ya he colocado el usuario y contraseña correctos , el error inicio desde que quise poner la seguridad a la consulta , podrian ayudarme ,,

gracias


Código PHP:
Ver original
  1. <?php
  2.     require_once('core.php');
  3.     class Logueo{
  4.         public function usuario(){
  5.             $existe=(sprintf("SELECT *  FROM usuarios WHERE correo = '%d' AND contrasena = '%s'",
  6.                     mysql_real_escape_string($_POST['correo']) ,
  7.                     mysql_real_escape_string($_POST['contrasena'])));
  8.                     $sql=mysqli_query($existe,Conectar::con());
  9.                     if(mysqli_num_rows($sql) == 0){
  10.                         header("Location:index.php?mensaje=1");
  11.                     }elseif (mysqli_num_rows($sql) == 1){
  12.                         while($fila=mysql_fetch_array($sql)){
  13.                             $_SESSION['usuario'] = $fila['tipousuario'];
  14.                         }
  15.                         header("Location:principal.php");
  16.                     }elseif (mysqli_num_rows($sql) > 1) {
  17.                         header("Location:index.php?mensaje=2");
  18.                     }
  19.         }
  20.     }
  21. ?>
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #2 (permalink)  
Antiguo 02/12/2015, 11:39
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 12 años, 2 meses
Puntos: 214
Respuesta: consulta php y mysqli devuelve siempre 0

Saludo.
El asunto tal vez sea por mezclar mysql y mysqli.
Por otra parte, ¿ambos parámetros no serían %s?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 02/12/2015 a las 11:45
  #3 (permalink)  
Antiguo 02/12/2015, 11:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 14 años
Puntos: 2658
Respuesta: consulta php y mysqli devuelve siempre 0

Función equivocada: http://php.net/manual/es/mysqli.real-escape-string.php

Empieza por eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 02/12/2015, 11:50
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 9 años, 9 meses
Puntos: 36
Respuesta: consulta php y mysqli devuelve siempre 0

muchas gracias a ambos ya veo los detalles que me han dicho y voy de una de vuelta a dar mi resultado

muy agradecido
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #5 (permalink)  
Antiguo 02/12/2015, 15:00
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 9 años, 9 meses
Puntos: 36
Respuesta: consulta php y mysqli devuelve siempre 0

Código PHP:
Ver original
  1. class Logueo{
  2.  public function usuario(){
  3.         $existe = sprintf("SELECT *  FROM usuarios WHERE correo = '%s' AND contrasena = '%s'",
  4.         mysql_real_escape_string(Conectar::con(),$_POST['correo']),
  5.         mysql_real_escape_string(Conectar::con(),$_POST['contrasena'])
  6.         );
  7.         $sql=mysql_query($existe,Conectar::con());
  8.             if(mysql_num_rows($sql) == 0){
  9.                
  10.             }elseif (mysql_num_rows($sql) == 1){
  11.                 while($fila=mysql_fetch_array($sql)){
  12.                     $_SESSION['usuario'] = $fila['tipousuario'];
  13.                 }
  14.                
  15.             }elseif (mysql_num_rows($sql) > 1) {
  16.                
  17.             }
  18.         }
  19.     }
gracias a todos , modifique pero me da error de

parametros dice que elmysql_real_escape_string esperaba un parametro

logicamente al no cumplir este me da otros en el mysql_query y mysql_num_rows

alguien puede hecharme la mano
gracias
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #6 (permalink)  
Antiguo 02/12/2015, 22:41
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 12 años, 2 meses
Puntos: 214
Respuesta: consulta php y mysqli devuelve siempre 0

Saludo.
Eso es porque quien espera dos parámetros es mysqli.
Veo que se cambió todo a mysql, en cuyo caso
solo enviar el post.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 02/12/2015, 22:55
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 9 años, 9 meses
Puntos: 36
Respuesta: consulta php y mysqli devuelve siempre 0

gracias por tu ayuda , quedo perfecto y es que estoy iniciandome en la programacion con funciones , clases y mas

por eso me cuesta un poco , pero ahi voy jajaja

gracias

te sumo tu puntillo por tu amabilidad
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..

Etiquetas: informatica, resultado, seguridad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:32.