Foros del Web » Programando para Internet » PHP »

Guardar en variable la consulta MySQL

Estas en el tema de Guardar en variable la consulta MySQL en el foro de PHP en Foros del Web. Hola a todos/as! Quiero guardar en una variable el resultado de una consulta MySQL. Es para comprobar que cuando se da de alta a un ...
  #1 (permalink)  
Antiguo 01/01/2012, 23:56
 
Fecha de Ingreso: enero-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Guardar en variable la consulta MySQL

Hola a todos/as!

Quiero guardar en una variable el resultado de una consulta MySQL. Es para comprobar que cuando se da de alta a un cliente, no esté el nombre de usuario ya guardado.

Código MySQL:
Ver original
  1. $comprobar = "SELECT  COUNT(`Usuario`)
  2.                  FROM  `usuarios`
  3.                  WHERE  `Usuario` = 'txtnom';

Y por eso quería hacer algo como:

Código PHP:
$comprobar mysql_query($comprovar) or die(mysql_error());

if (
$comprobar 1){

echo 
"Ya hay un usuario con ese nombre";}

else{ ...
hacer el insert...) 
Pero la variable comprobar toma como valor "Resource id #4" en vez de 1 o 0

Alguien me echa una mano?
  #2 (permalink)  
Antiguo 02/01/2012, 00:24
Avatar de Martriay  
Fecha de Ingreso: noviembre-2010
Mensajes: 80
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Guardar en variable la consulta MySQL

Resource id #4 aparece cuando estás tratando de poner el resultado de una consulta directamente en una variable.

Tu código debería ser así:
Código PHP:
$query "SELECT COUNT('Usuario') FROM usuarios WHERE 'Usuario'='txtnom'";
$rs mysql_query($query);
$nr mysql_num_rows($rs);
if (
$rs 0){ 
echo 
"Ya hay un usuario con ese nombre";
}else{
// lo que quieras

  #3 (permalink)  
Antiguo 02/01/2012, 00:25
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Guardar en variable la consulta MySQL

consulta:

//guarda el valor
$nombre = $_POST"nombre"];

//ejecuta la consuta
$sql = mysql_query("SELECT * FROM cliente Where Nombre = '$nombre'");
$resultado = mysql_fetch_array ($sql); $numero = mysql_num_rows ($sql);

//comprobacion
if ($numero=1){
$aviso = 'ya exite este usuario';}else{
.. grabalos..
}
  #4 (permalink)  
Antiguo 02/01/2012, 16:02
 
Fecha de Ingreso: enero-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Guardar en variable la consulta MySQL

Oh! :D Muchas gracias a los dos. Ya he mirado esas funciones que habéis puesto para ver exactamente como funcionan (que no las conocía jeje) y lo tengo claro ;)

Muchas gracias de verdad!
  #5 (permalink)  
Antiguo 02/01/2012, 17:55
Avatar de Martriay  
Fecha de Ingreso: noviembre-2010
Mensajes: 80
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Guardar en variable la consulta MySQL

me confundi, dentro de la condicion del if va nr (number rows, cantidad de filas de resultado), no rs como puse
  #6 (permalink)  
Antiguo 02/01/2012, 17:56
Avatar de Martriay  
Fecha de Ingreso: noviembre-2010
Mensajes: 80
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Guardar en variable la consulta MySQL

Cita:
Iniciado por jmabreu Ver Mensaje
consulta:

//guarda el valor
$nombre = $_POST"nombre"];

//ejecuta la consuta
$sql = mysql_query("SELECT * FROM cliente Where Nombre = '$nombre'");
$resultado = mysql_fetch_array ($sql); $numero = mysql_num_rows ($sql);

//comprobacion
if ($numero=1){
$aviso = 'ya exite este usuario';}else{
.. grabalos..
}
cuidado acá que estás asignando 1 a la variable $numero, no estás comparando
  #7 (permalink)  
Antiguo 03/01/2012, 18:02
 
Fecha de Ingreso: enero-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Guardar en variable la consulta MySQL

Sí de eso me di cuenta ;)

No te preocupes que no hice copy/paste. Miré como lo hicisteis y lo busqué en la documentación para entenderlo. Y me ha funcionado a la primera. Estoy muy contento. Gracias!

Etiquetas: mysql, sql, variables, usuarios
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 22:45.