Foros del Web » Programando para Internet » PHP »

Error mysql_num_rows()

Estas en el tema de Error mysql_num_rows() en el foro de PHP en Foros del Web. Hola amigos: Tengo el siguiente problema, y es que tengo un script para el borrardo de un registros de una base de datos y antes ...
  #1 (permalink)  
Antiguo 05/05/2008, 13:54
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 20 años, 11 meses
Puntos: 0
Error mysql_num_rows()

Hola amigos:

Tengo el siguiente problema, y es que tengo un script para el borrardo de un registros de una base de datos y antes hago una consulta para saber que si no existe la referencia de la baja, pues que me envie a una pagina de error, y si existe haga la baja. Pues bien, cuando pruebo me sale el siguiente error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL

Alguien me puede ayudar.
Gracias de Antemano.


Código PHP:
<?

//Conectamos BD
include("conecta.php");

//Capturamos el Resultado Enviado desde Buscador
$baja=$_POST["baja"];

//Consulta Verificación de Existencia en BD del registro
$consultav="select * from pisos where referencia='$baja')";
$resultado=mysql_query($consultav,$conecta);

$columnas=mysql_num_rows($resultado);

if (
$columnas==0){
   
header ("Location: error.php");
}


//Consulta de Borrado
$consulta="delete from pisos where referencia='$baja'";

//Borrado
mysql_query($consulta,$conecta);

//Cerramos la BD
mysql_close($conecta);

?>

Última edición por NTrance; 05/05/2008 a las 14:01
  #2 (permalink)  
Antiguo 05/05/2008, 13:58
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Re: Error mysql_num_rows()

Tienes un error en esta linea:
header("Location: error.php); las comillas!

Asi deberia estar:

Código PHP:
//Conectamos BD
include("conecta.php");

//Capturamos el Resultado Enviado desde Buscador
$baja=$_POST["baja"];

//Consulta Verificación de Existencia en BD del registro
$consultav="select * from pisos where referencia='$baja')";
$resultado=mysql_query($consultav,$conecta);

$columnas=mysql_num_rows($resultado);

if (
$columnas==0){
   
header("Location: error.php");
}


//Consulta de Borrado
$consulta="delete from pisos where referencia='$baja'";

//Borrado
mysql_query($consulta,$conecta);

//Cerramos la BD
mysql_close($conecta); 
__________________
*La amistad se multiplica cuando se divide*
  #3 (permalink)  
Antiguo 05/05/2008, 14:01
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: Error mysql_num_rows()

Lo pegué mal, pero con la " tambien da el error :(

También probé:

Código PHP:

//Consulta Verificación de Existencia en BD
$consultav="select * from pisos where referencia='$baja')";
$resulta=mysql_query($consultav,$conecta);

if (
$resulta==""){
   
header ("Location: error.php");

pero así siempre me dice que no se encuentra ningun registro, aún cuando le pones un registro que existe.
  #4 (permalink)  
Antiguo 05/05/2008, 14:06
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Re: Error mysql_num_rows()

podrias poner el codigo de conecta.php ?

saludos
__________________
*La amistad se multiplica cuando se divide*
  #5 (permalink)  
Antiguo 05/05/2008, 14:33
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: Error mysql_num_rows()

Conecta.php


Código PHP:
<?php

//Variables de Conexión

$host "localhost";
$usuario "myuser";
$clave "1234";
$basedatos "inmodatos";

//Conexión a la Base de Datos

$conecta mysql_connect($host,$usuario,$clave) or die ("Error en Conexión a Base de Datos");

//Selección de la Base de Datos

mysql_select_db($basedatos,$conecta) or die ("Error al Seleccionar la Base de Datos");

?>
  #6 (permalink)  
Antiguo 05/05/2008, 14:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Re: Error mysql_num_rows()

prueba esto haber si te da algun error:

//Consulta Verificación de Existencia en BD
$consultav="select * from pisos where referencia='$baja')";
$resulta=mysql_query($consultav,$conecta) or die("Error en query $resulta:" .mysql_error() );
__________________
*La amistad se multiplica cuando se divide*
  #7 (permalink)  
Antiguo 05/05/2008, 20:37
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Error mysql_num_rows()

a mi me parece que el error esta aqui:

Código PHP:
$consultav="select * from pisos where referencia='$baja')"
y creo que tendria que quedar asi

Código PHP:
$consultav="select * from pisos where referencia=' ".$baja." ' "
o asi

Código PHP:
$consultav=("select * from pisos where referencia=' ".$baja." ' "$conecta); 
si no es asi, comentenlo, para ir aprendiendo.
  #8 (permalink)  
Antiguo 06/05/2008, 01:44
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Error mysql_num_rows()

si referencia es numérico te sobraran las comillas simples ^^
  #9 (permalink)  
Antiguo 06/05/2008, 02:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Error mysql_num_rows()

Ruben_C es obvio ke se pueden usar estas tres formas al asignar variables...

($a="A");
$a="A";
$a="$b";

pero, diganme cual se ve mas mal?....
las ke se reevaluan, vaya no son necesarias las comillas cuando de una SOLA variable se trata....

tampoco es necesario encerrar entre parentesis, por ejemplo yo siempre uso asi...

print "mi cadena o una variable de $php o {$arregl[0]} u {$obj->eto} sin parentesis";

es cuestion de cada quien, pero hay que saber elegir la salida racional... ¿para que encerrar entre comillas o parentesis, si no es necesario?

PDTA: ademas, es cierto.... para comparaciones numericas seria conveniente quitar las comillas...
  #10 (permalink)  
Antiguo 06/05/2008, 02:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Error mysql_num_rows()

Bueno, prueba con esto :


Código PHP:

$qry 
mysql_query("Select count(*) from pisos where referencia='$baja'") ;
$find mysql_result($qry,0) ;

if (
$find == 0)
        
header("Location: error.php");
else
        
mysql_query("Delete from pisos where referencia='$baja'") ; 
  #11 (permalink)  
Antiguo 06/05/2008, 02:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Error mysql_num_rows()

pateketrueke, te contexto :

Cuando tu haces una asignacion con comillas simples, lo que encierres dentro no se trata como variables, es decir:

Código PHP:
 
echo 'Hola mundo, me llamo $nombre' 
Eso imprimira: Hola mundo, me llamo $nombre .

Si lo encierras entre comillas dobles, cogeria la variable, ponemos que $nombre = jose ;

Código PHP:
 
echo "Hola mundo, me llamo $nombre" 
Eso imprimira: Hola mundo, me llamo jose.

-----

Entonces, porque usar comillas simples, teniendo las comillas dobles? Pues porque para el motor web, y para PHP, todo lo que vaya entre comillas dobles, intenta interpretarlo como si fuera PHP, siempre buskando funciones, variables etc..

tonces la Siguiente instruccion:

Código PHP:
 
echo "Hola mundo, me llamo $nombre" 
Tardaria mas en ejecutarse ( aunq nosotros apenas lo apreciemos ) que la siguiente :

Código PHP:
 
echo 'Hola mundo, me llamo ' .$nombre 

En codigo de pocas lineas, es inapreciable, en codigos de 1000 lineas, se nota ^_^
  #12 (permalink)  
Antiguo 06/05/2008, 04:25
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Error mysql_num_rows()

miSko, buena explicación :)

Siempre se aprende algo nuevo :)

Yo siempre lo hacia así, pero por razones de "estética" o de tener una forma de hacer las cosas que sea siempre la misma, no sabia que aumentaba el rendimiento :$ :)
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 03:10.