Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con función mysqli_num_rows()

Estas en el tema de Problema con función mysqli_num_rows() en el foro de PHP en Foros del Web. Buenas noches, estoy haciendo unas pruebas con este script para ingresar datos en una BD: Código PHP: <?php      include( "conex.php" );     if(isset( $_POST [ ...
  #1 (permalink)  
Antiguo 10/11/2015, 20:28
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Pregunta Problema con función mysqli_num_rows()

Buenas noches, estoy haciendo unas pruebas con este script para ingresar datos en una BD:

Código PHP:
<?php
    
include("conex.php");

    if(isset(
$_POST['enviar'])) { 
        
$cliente_nombre mysqli_real_escape_string($link$_POST['cliente_nombre']);
        
$cliente_email mysqli_real_escape_string($link$_POST['cliente_email']);

        
$query "SELECT cliente_nombre FROM clientes WHERE cliente_nombre=".$cliente_nombre;
        
$sql mysqli_query($link$query);
        
$total mysqli_num_rows($sql);
        if(
$total == 0) {
            
$reg mysqli_query($link"INSERT INTO clientes (cliente_nombre, cliente_email) VALUES ('".$cliente_nombre."', '".$cliente_email."'");
            if(
$reg) {
                echo 
"Registro exitoso";
            }else {
                echo 
"Error de registro";
            }
        }else {
            echo 
"Error: correo ingresado ya existe";
        }
    }else {
?>
        <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
            <label>Nombre:</label><br />
            <input type="text" name="cliente_nombre" /><br />
            <label>Email:</label><br />
            <input type="text" name="cliente_email" /><br />
            <input type="submit" name="enviar" value="Registrar" />
        </form>
<?php
    
}
?>
El problema que tengo es que al enviar el formulario el registro se ingresa en la BD y a su vez me devuelve el siguiente mensaje:

Cita:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\clientes\agregar_cliente.php on line 16
La verdad no sé a qué se debe, espero que me puedan echar una mano con esto. Gracias anticipadas!
  #2 (permalink)  
Antiguo 10/11/2015, 20:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con función mysqli_num_rows()

Tu consulta SELECT tiene errores, ¿estás comparando cadenas de texto?

Porque deberías agregar comillas simples me parece.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/11/2015, 20:40
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: Problema con función mysqli_num_rows()

Cita:
Iniciado por pateketrueke Ver Mensaje
Tu consulta SELECT tiene errores, ¿estás comparando cadenas de texto?

Porque deberías agregar comillas simples me parece.
Se me escapó un paréntesis en la consulta $reg, lo agregué en mi archivo pero sigue mostrándome el mismo mensaje :/
  #4 (permalink)  
Antiguo 10/11/2015, 20:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con función mysqli_num_rows()

Yo nunca he mencionado nada acerca de paréntesis.

¿Si sabes que cuando comparas cadenas de texto en SQL debes usar comillas simples verdad?

Código PHP:
Ver original
  1. // MAL
  2. $query = "SELECT cliente_nombre FROM clientes WHERE cliente_nombre=".$cliente_nombre;
  3.  
  4. // BIEN
  5. $query = "SELECT cliente_nombre FROM clientes WHERE cliente_nombre='$cliente_nombre' ".;
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 10/11/2015, 20:47
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: Problema con función mysqli_num_rows()

Cita:
Iniciado por pateketrueke Ver Mensaje
Yo nunca he mencionado nada acerca de paréntesis.

¿Si sabes que cuando comparas cadenas de texto en SQL debes usar comillas simples verdad?

Código PHP:
Ver original
  1. // MAL
  2. $query = "SELECT cliente_nombre FROM clientes WHERE cliente_nombre=".$cliente_nombre;
  3.  
  4. // BIEN
  5. $query = "SELECT cliente_nombre FROM clientes WHERE cliente_nombre='$cliente_nombre' ".;
Ya claro, se me pasó eso, pero igual, añadiendo las comillas simples sigue saliendo ese bendito mensaje :(
  #6 (permalink)  
Antiguo 10/11/2015, 20:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con función mysqli_num_rows()

Bueno, ¿al menos podrías depurar el mensaje de error que produce la consulta o tenemos que adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 10/11/2015, 20:52
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problema con función mysqli_num_rows()

primero intenta cambiar esto:
Código PHP:
Ver original
  1. //esto
  2. $query = "SELECT cliente_nombre FROM clientes WHERE cliente_nombre=".$cliente_nombre;
  3.  
  4. //por esto
  5. $query = "SELECT cliente_nombre FROM clientes WHERE cliente_nombre='$cliente_nombre'";

en caso contrario verifica que la variable $cliente_nombre este llegando como se debe porque al parecer no se esta ejecutando la query porque esa variable esta llegando mal o no esta llegando.
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 10/11/2015, 21:03
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: Problema con función mysqli_num_rows()

Lo arreglé, se me escapó una comilla en la consulta SQL (culpa mía). Gracias por su ayuda.

Saludos!

Etiquetas: formulario, mysql, registro, select, sql
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 02:09.