Foros del Web » Programando para Internet » PHP »

Problema con mysql_num_rows e Insert

Estas en el tema de Problema con mysql_num_rows e Insert en el foro de PHP en Foros del Web. hola quetal estoy escrbiendo datos en la DB y cuando trado de darle Código PHP: if( mysql_num_rows ( $nuevo_usuario )> 0 ) {      crear_cuentas_admin ...
  #1 (permalink)  
Antiguo 07/01/2009, 16:53
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Pregunta Problema con mysql_num_rows e Insert

hola quetal estoy escrbiendo datos en la DB y cuando trado de darle

Código PHP:
if(mysql_num_rows($nuevo_usuario)>0)
{
    
crear_cuentas_admin("El usuario fue ingresado correctamente");

me regresa este error


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\foro2\validar_cuentas_admin.php on line 69

no he podido dar con la solucion he leido que mysql_query regresa un resource y se debe tratar especialmente creo que con mysql_fetch_array

Alguien tiene alguna solucion?

esta es la consulta

$nuevo_usuario=mysql_query("insert into usuarios values ('$nombre','$contrasena1','$fecha','$permisos','$e mail')");

Gracias
  #2 (permalink)  
Antiguo 07/01/2009, 16:59
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problemaa

No aplica para los Insert

El numero de registros regresados se utiliza para el select

Prueba con
if($nuevo_usuario)
{
crear_cuentas_admin("El usuario fue ingresado correctamente");
}
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #3 (permalink)  
Antiguo 07/01/2009, 17:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Respuesta: Problemaa

Que tal,

En esto
Cita:
$nuevo_usuario=mysql_query("insert into usuarios values ('$nombre','$contrasena1','$fecha','$permisos','$e mail')");
cambialo por esto:

$nuevo_usuario=mysql_query("insert into usuarios(campo1,campo2,campo3,campo4,campo5) values ('$nombre','$contrasena1','$fecha','$permisos','$e mail')");


lo que esta en negrita es el nombre de los campos que le pusiste en la bd

y ademasa para quef funcione lo que quieres hacer necesitas un select

saludos
__________________
*La amistad se multiplica cuando se divide*
  #4 (permalink)  
Antiguo 07/01/2009, 17:03
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Problemaa

Muchas gracias pude solucionar mi problema
  #5 (permalink)  
Antiguo 07/01/2009, 17:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemaa

De hecho lo que aplica es usar mysql_affected_rows() para que veas si se inserto o no (respuesta es mayor a 1).

Saludos.

PD por favor usa titulos más descriptivos para tus mensajes.
  #6 (permalink)  
Antiguo 07/01/2009, 17:05
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problemaa

reimonfranco, no es totalmente necesario colocar los campos de la tabla a insertar, eso aplica cunado no llenas todos los campos de la tabla y/o el orden no es el mismo que lleva la tabla.

Pero creo que si es conveniente meramente por saludo, sobretodo cuando hay una posibilidad de hacer alteraciones a la tabla.

Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #7 (permalink)  
Antiguo 07/01/2009, 17:07
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Respuesta: Problemaa

Cita:
Iniciado por Avatar810 Ver Mensaje
reimonfranco, no es totalmente necesario colocar los campos de la tabla a insertar, eso aplica cunado no llenas todos los campos de la tabla y/o el orden no es el mismo que lleva la tabla.

Pero creo que si es conveniente meramente por saludo, sobretodo cuando hay una posibilidad de hacer alteraciones a la tabla.

Saludos
que tal, gracias por ese tip ya que yo no lo sabia, pero igualmente yo creo que es recomendable ponerlo..

saludos
__________________
*La amistad se multiplica cuando se divide*
  #8 (permalink)  
Antiguo 07/01/2009, 17:10
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Problema con mysql_num_rows e Insert

pero como puedo utlizar mysql_affected_rows() ??

lo intente asi y me saca error

if(mysql_affected_rows($nuevo_usuarios)>0)
{
....

}

o como deberia utlizarce??
  #9 (permalink)  
Antiguo 07/01/2009, 17:13
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Respuesta: Problema con mysql_num_rows e Insert

has un select..
__________________
*La amistad se multiplica cuando se divide*
  #10 (permalink)  
Antiguo 07/01/2009, 17:15
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problema con mysql_num_rows e Insert

mysql_affected_rows — Devuelve el número de filas afectadas de la última operación MySQL


mysql_query('DELETE FROM mytable WHERE 1');
printf("Records deleted: %d\n", mysql_affected_rows());
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #11 (permalink)  
Antiguo 07/01/2009, 17:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con mysql_num_rows e Insert

Tiene que ser sobre el resource de la conexión no del resultado de la consulta.

Saludos
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 09:02.