Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO ERROR: mysql_num_rows() expects parameter 1

Estas en el tema de ERROR: mysql_num_rows() expects parameter 1 en el foro de PHP en Foros del Web. Hola espero me puedan ayudar me bota este error no se por que: Código PHP: include_once( "conexion.php" );      $con  = new  DB ;      $cliente  ...
  #1 (permalink)  
Antiguo 17/04/2015, 10:15
Avatar de gerrycrush  
Fecha de Ingreso: abril-2015
Ubicación: Mexico
Mensajes: 9
Antigüedad: 9 años, 6 meses
Puntos: 0
Exclamación ERROR: mysql_num_rows() expects parameter 1

Hola espero me puedan ayudar me bota este error no se por que:

Código PHP:

include_once("conexion.php");

    
$con = new DB;
    
$cliente $con->conectar();
    
$strConsulta "SELECT id_cliente, id_tipocliente, NombreContacto, ApellidosContacto from computo";
    
$cliente mysql_query($strConsulta);
    
$numfilas mysql_num_rows($cliente);
    
    echo 
'<table cellpadding="0" cellspacing="0" width="100%">';
    echo 
'<thead><tr><td>Id</td><td>Carrito</td><td>Nombre</td><td>Pdf</td></tr></thead>';
    for (
$i=0$i<$numfilas$i++)
    {
        
$fila mysql_fetch_array($cliente);
        
$numlista $i 1;
        echo 
'<tr><td>'.$numlista.'</td>';
        echo 
'<td>'.$fila['id_cliente'].'</td>';
        echo 
'<td>'.$fila['NombreContacto'].' '.$fila['id_tipocliente'].' </td>';
        echo 
'<td><a href="reporte_historial.php?id='.$fila['id_cliente'].'">Ver</a></td></tr>';
    }
    echo 
"</table>"
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\clinica\index.php on line 25

Última edición por gerrycrush; 17/04/2015 a las 10:17 Razón: Codigo de error
  #2 (permalink)  
Antiguo 17/04/2015, 10:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ERROR: mysql_num_rows() expects parameter 1

1) Postea el código de conexion.php. Si no vemos como se conecta, será dificil saber si lo estás haciendo bien.
2) No asumas que algo funciona bien, simplemente porque está bien escrito.
3) Como mínimo, usa un or die() para verifica por qué falla.
Código PHP:
Ver original
  1. $cliente = mysql_query($strConsulta) or die("Error de MySQL: ".mysql_error());
  2. if($cliente )
  3. {$numfilas = mysql_num_rows($cliente);
  4.    
  5.     echo '<table cellpadding="0" cellspacing="0" width="100%">';
  6.     echo '<thead><tr><td>Id</td><td>Carrito</td><td>Nombre</td><td>Pdf</td></tr></thead>';
  7.     for ($i=0; $i<$numfilas; $i++)
  8.     {
  9.         $fila = mysql_fetch_array($cliente);
  10.         $numlista = $i + 1;
  11.         echo '<tr><td>'.$numlista.'</td>';
  12.         echo '<td>'.$fila['id_cliente'].'</td>';
  13.         echo '<td>'.$fila['NombreContacto'].' '.$fila['id_tipocliente'].' </td>';
  14.         echo '<td><a href="reporte_historial.php?id='.$fila['id_cliente'].'">Ver</a></td></tr>';
  15.     }
  16.     echo "</table>";  }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 17/04/2015 a las 11:04
  #3 (permalink)  
Antiguo 17/04/2015, 10:34
Avatar de gerrycrush  
Fecha de Ingreso: abril-2015
Ubicación: Mexico
Mensajes: 9
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: ERROR: mysql_num_rows() expects parameter 1

Ok agrego el codigo, pienso que el error esta en la consulta..., sigo intentando:

Código PHP:
Ver original
  1. <?php
  2. class DB{
  3.     var $conect;
  4.  
  5.     var $BaseDatos;
  6.     var $Servidor;
  7.     var $Usuario;
  8.     var $Clave;
  9.     function DB(){
  10.         $this->BaseDatos = "computo";
  11.         $this->Servidor = "localhost";
  12.         $this->Usuario = "root";
  13.         $this->Clave = "";
  14.     }
  15.  
  16.      function conectar() {
  17.         if(!($con=@mysql_connect($this->Servidor,$this->Usuario,$this->Clave))){
  18.             echo"<h1> [:(] Error al conectar a la base de datos</h1>"; 
  19.             exit();
  20.         }
  21.         if (!@mysql_select_db($this->BaseDatos,$con)){
  22.             echo "<h1> [:(] Error al seleccionar la base de datos</h1>";  
  23.             exit();
  24.         }
  25.         $this->conect=$con;
  26.         return true;   
  27.     }
  28. }
  29. ?>
  #4 (permalink)  
Antiguo 17/04/2015, 10:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 6 meses
Puntos: 2534
Respuesta: ERROR: mysql_num_rows() expects parameter 1

El método conectar() devuelve true, no la conexión, ese es tu error.

La función mysql_num_rows() espera la conexión, que en teoría almacenaste en tu variable $cliente pero como el método está mal entonces todo sufre.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/04/2015, 10:52
Avatar de gerrycrush  
Fecha de Ingreso: abril-2015
Ubicación: Mexico
Mensajes: 9
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: ERROR: mysql_num_rows() expects parameter 1

Ya quedo resuelto, el problema estaba en que la consulta en "index" hacia referencia a la base de datos y no a la tabla: "computo.computo" quedando la linea de código así:

Código PHP:
Ver original
  1. $strConsulta = "SELECT id_cliente, id_tipocliente, NombreContacto, ApellidosContacto from cliente";

esto gracias a @gnzsoloyo y el "mysql_error"

muchas gracias.

Etiquetas: code, errores, myslq, problem
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 20:57.