Foros del Web » Programando para Internet » PHP »

MySQL no me hace caso

Estas en el tema de MySQL no me hace caso en el foro de PHP en Foros del Web. Hola, recien empiezo con lo de las BBDD y me surgio una duda. Tengo el siguiente codigo PHP: Código PHP: <?php include( 'conexion.php' ); $link  ...
  #1 (permalink)  
Antiguo 19/02/2006, 13:30
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 1 mes
Puntos: 1
Pregunta MySQL no me hace caso

Hola, recien empiezo con lo de las BBDD y me surgio una duda. Tengo el siguiente codigo PHP:

Código PHP:
<?php
include('conexion.php');
$link Conectarse();
if(isset(
$_POST["acc"]) && isset($_POST["pass"]) && isset($_POST["char"]) && isset($_POST["auto"])) {
    
$accN $_POST["acc"];
    
$passN $_POST["pass"];
    
$nickN $_POST["char"];
    
$autoN $_POST["auto"];
    
//acc='$accN' AND 
    
$result mysql_query("SELECT acc,pass,nick,autologin FROM usuarios WHERE nick='$nickN'");
    if(
$row mysql_fetch_array($result)) {
        if(
$row["acc"] == $accN) {
            if(
$row["nick"] == $nickN) {
                
//el nombre del personaje es correcto...
                
if($row["pass"] == $passN) {
                    echo 
"&estatus=ok&est=$autoN&"//todo correcto...
                    
$_SESSION['cuenta']=$accN;
                    
$_SESSION['personaje']=$nickN;
                    
$consulta "UPDATE autologin SET autologin='$autoN' WHERE nick='$nickN'";
                    
mysql_query($consulta);
                    
                } else {
                    echo 
"&estatus=pass_mal&"//... pero la contraseña es incorrecta
                
}
            } else {
                echo 
"&estatus=pj_mal&"//nombre del personaje registrado incorrecto
            
}
        } else {
            echo 
"&estatus=acc_mal&"//el personaje ingresado no existe en esta cuenta
        
}
    } else {
        echo 
"&estatus=nopj&";
    }
    
mysql_free_result($result);
}
mysql_close();
?>
Pero la variable: autologin de mi tabla MySQL no se actualiza. Quiero que tome el valor de $autoN pero no lo hace
Lo estoy haciendo bien?

Gracias

ArgoN

Última edición por -=ArgoN=-; 23/02/2006 a las 09:03
  #2 (permalink)  
Antiguo 19/02/2006, 15:15
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 12 años, 7 meses
Puntos: 1
Mira a ver si lo que te falta son las comillas, añadeselas a $autoN:

Código PHP:
$consulta "UPDATE autologin SET autologin='$autoN' WHERE nick='$nickN'"
si no es eso comprueba que las variables te llegan bien desde el formulario.
__________________
Ciao y suerte.
  #3 (permalink)  
Antiguo 22/02/2006, 18:09
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 1 mes
Puntos: 1
Probe con lo que me dijiste y tampoco funciona

Ya no se que hacer Solo una aclaracion, influye alguna cosa si cuando cree la columna autologin le puse que como valor default fuera: false ?

Gracias de nuevo.
  #4 (permalink)  
Antiguo 23/02/2006, 00:13
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 16 años, 1 mes
Puntos: 2
hace un "echo $consulta;" antes de ejecutar el query y revisa que sea lo que esperas...

si es lo que esperas, la consulta debe dar un error... (tal vez un problema con tus campos...) ejecutala en algun cliente mysql y fijate cual es.

Saludos!
__________________
JmN
  #5 (permalink)  
Antiguo 23/02/2006, 07:48
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 1 mes
Puntos: 1
UPDATE autologin SET autologin='true' WHERE nick='ArgoN'

Eso mismo es lo que me devuelve: echo $consulta;
Código:
UPDATE autologin SET autologin='true' WHERE nick='ArgoN'
Se supone que si devuelve esto deberia actualizar la variable..

Gracias!
  #6 (permalink)  
Antiguo 23/02/2006, 08:22
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Que tipo de campo es autologin?
  #7 (permalink)  
Antiguo 23/02/2006, 09:01
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 1 mes
Puntos: 1
Los atributos de la variable autologin son:

Campo: autologin
Tipo: varchar(5)
Cotejamiento: latin1_swedish_ci
Nulo: No
Predeterminado: false

¿Alguien sabe que esta pasando?

Gracias
  #8 (permalink)  
Antiguo 23/02/2006, 09:12
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
El nick está escrito exactamente asi en la bd? ArgoN
  #9 (permalink)  
Antiguo 23/02/2006, 09:16
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 1 mes
Puntos: 1
Asi es...
  #10 (permalink)  
Antiguo 23/02/2006, 09:17
Avatar de Saulinux  
Fecha de Ingreso: agosto-2005
Mensajes: 43
Antigüedad: 12 años, 4 meses
Puntos: 0
Estas seguro que tienes conexion con tu base de datos?? utilizas un:
include('conexion.php');
$link = Conectarse();
// Como no se tu codigo de conexion.php supongo que utilizas la variable $link para hacer la conexion con tu base de datos

Deberias al utilizar un query en Mysql, indicar donde estas conectando:
$result = mysql_query("SELECT acc,pass,nick,autologin FROM usuarios WHERE nick='$nickN',$link");

y lo mismo en el UPDATE:
$consulta = "UPDATE autologin SET autologin='$autoN' WHERE nick='$nickN'";
mysql_query($consulta,$link);

//todo esto suponiendo que $link hace de conexion con tu base de datos
__________________
Siempre o casi siempre, las cosas que piensas que nunca se acaban son las primeras en desaparecer.....
  #11 (permalink)  
Antiguo 23/02/2006, 09:22
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 14 años
Puntos: 0
por que no pones un
Código PHP:
echo mysql_error(); 
despues de tu
Código PHP:
mysql_query(""); 
para ver si mysql te esta mandando algun tipo de error.
__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #12 (permalink)  
Antiguo 23/02/2006, 09:24
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 1 mes
Puntos: 1
AH!!!!!!!! maldicion!!
Ya se que es lo que pasaba... Claro, ahora lo entiendo todo...
Lo que pasaba es que yo colocaba esto en la consulta:

Código PHP:
$consulta "UPDATE autologin SET autologin='$autoN' WHERE nick='$nickN'"
Cuando despues de: UPDATE tendria que estar poniendo el nombre de la tabla
Puse esto:

Código PHP:
$consulta "UPDATE usuarios SET autologin='$autoN' WHERE nick='$nickN'"
Y ahora funciona a la perfeccion

Muchas gracias a todos... ya sabia yo que algo no hacia bien ....

Saludos
  #13 (permalink)  
Antiguo 23/02/2006, 09:26
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 14 años
Puntos: 0


Nunca especificaste que autologin no era el nombre de tu tabla...

SALUDOS y SUERTE.

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
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 21:41.