Tema: consulta Sql
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/08/2009, 03:58
The_Magister
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: consulta Sql

Cita:
Iniciado por marcos46g Ver Mensaje
<?
session_start();

$servidor ="mysqlhost.com";
$usuario ="a3_ricardo";
$password = "w1";
$nomBD= "a3in";
$conexion= mysql_connect($servidor, $usuario, $password);
mysql_select_db ($nomBD);
echo "Validando registro de usuario...";
//el valor del campo estado indica si el usuario es "usuario registrado"
$consultaSQL= "UPDATE usuarios SET estado='A' WHERE emailUsuario=".$_GET['emailUsuario'];
mysql_db_query($nomBD, $consultaSQL, $conexion);

No me marca ningun error pero no cambia el valor de Estado que de forma predetrminada tiene otro valor.
Gracias por ayudarme , no se si hay un error en la consulta o en la forma con la que intento guardar en la base de datos. Los datos de conexion son ficticios pero los reales estan correctos



buenas, a ver si te puedo echar un cable,

he visto un fallo en tu sintaxis sql:

$consultaSQL= "UPDATE usuarios SET estado='A' WHERE emailUsuario=".$_GET['emailUsuario'];

en emailUsuario estás cerrando la doble comilla de la consulta y luego recuperas la variable del GET.

yo haría lo siguiente:

session_start();

$servidor ="mysqlhost.com";
$usuario ="a3_ricardo";
$password = "w1";
$nomBD= "a3in";

//conecto con la base de datos y selecciono la bd
mysql_connect($servidor, $usuario, $password);
mysql_select_db ($nomBD);

//declaro una variable recogiendo el valor de $_GET['emailUsuario']
$email_usuario= $_GET['emailUsuario'];


echo "Validando registro de usuario...";

//el valor del campo estado indica si el usuario es "usuario registrado"
$consultaSQL= mysql_query("UPDATE `usuarios` SET estado='A' WHERE emailUsuario='$emailusuario'");

//y haria otra consulta verificando si se ha actualizado el dato correctamente
$consultaSQL_ok = mysql_query("SELECT `estado`,`emailUsuario` FROM `usuarios` WHERE estado='A' AND emailUsuario='$emailusuario'");

$consultaSQL_ok_row = mysql_num_rows($consultaSQL_ok);

if($consultaSQL_ok_row == 1)
{
echo "Actualizado dato correctamente";
}
else
{
echo "Fallo al actualizar";
}

Espero que te haya ayudado si tienes dudas haznoslo saber
P.D.: si los datos los envias previamente con un formulario, usario POST y $_POST en vez de GET