Foros del Web » Programando para Internet » PHP »

No almacena datos en mysql mediante update

Estas en el tema de No almacena datos en mysql mediante update en el foro de PHP en Foros del Web. hola a todos, me pueden asesorar por favor, no me quiere funcionar la sentencia del UPDATE, que me falta por declarar más arriba en el ...
  #1 (permalink)  
Antiguo 06/11/2012, 10:46
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Información No almacena datos en mysql mediante update

hola a todos,

me pueden asesorar por favor, no me quiere funcionar la sentencia del UPDATE, que me falta por declarar más arriba en el codigo o que tiene de malo la sentencia del UPDATE, esta es la porcion del codigo que no me funciona.

Código PHP:
Ver original
  1. if ($aplico_soli!='0'){
  2.  
  3. echo " Alerta, el usuario   ",$login,"ya se encuentra inscrito en el proceso de seleccion  ",$aplico_soli;
  4. }
  5. else
  6. {
  7.  
  8. mysql_query("UPDATE solicitantes SET aplico_soli='$numero_convocatoria' WHERE cedula_soli='{$_SESSION['asesor']}'");
  9.  
  10. }

El codigo completo es el siguiente, Todo me funciona excepto el UPDATE

Código PHP:
Ver original
  1. <?php
  2. echo "Bienvenido ".$_SESSION['asesor']; //asesor es el usuario con el que el usuario se logueo al aplicativo
  3. include ('seguridad.php');
  4. include ('conexion.php');
  5. ?>
  6.  
  7. <?php
  8. $numero_convocatoria=$_GET['enviar_numero']; //recibo el numero convocatoria de donde se inscribio el usuario
  9. $login=$_SESSION['asesor'];
  10. //echo "numero de convocatoria    ", $numero_convocatoria;
  11. //echo $login;
  12.  
  13.  
  14. // en $inscripcion asocio al usuario y login del usuario
  15. $inscripcion=mysql_query("select a.cedula_soli,a.aplico_soli,b.login_user,b.documento_user from solicitantes AS a, usuarios AS b where a.cedula_soli=b.documento_user and b.login_user='".$login."' ");
  16. $resultado = mysql_fetch_array($inscripcion);
  17. echo "numero de cedula   ", $resultado[0];
  18. $cedula=$resultado[0];
  19. $aplico_soli=$resultado[1];
  20.  
  21.  
  22. //echo "su estado de aplico soli es  ",$aplico_soli;
  23.  
  24. if ($aplico_soli!='0'){
  25.  
  26. echo " Alerta, el usuario   ",$login,"ya se encuentra inscrito en el proceso de seleccion  ",$aplico_soli;
  27. }
  28. else
  29. {
  30. mysql_query("UPDATE solicitantes SET aplico_soli='$numero_convocatoria' WHERE cedula_soli='{$_SESSION['asesor']}'");
  31. }
  32. ?>
  33.  
  34. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  35. <html xmlns="http://www.w3.org/1999/xhtml">
  36. <head>
  37. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  38. <title>Documento sin t&iacute;tulo</title>
  39. </head>
  40.  
  41. <body>
  42. </body>
  43. </html>
  #2 (permalink)  
Antiguo 06/11/2012, 10:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No almacena datos en mysql mediante update

¿Que tiene de malo el UPDATE?

Eso no lo podemos adivinar, debes aprender a depurar tus consultas con mysql_error(), sólo así descubrirás de que se trata el error y por ende lo que está mal en la consulta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/11/2012, 12:42
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: No almacena datos en mysql mediante update

mm pateketrueke dejame decirte que tu opinion es como aquellas que dicen.... BUSCA EN GOOGLE......


será que tus 17.397 opiniones anteriores son del mismo estilo?
  #4 (permalink)  
Antiguo 06/11/2012, 12:53
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: No almacena datos en mysql mediante update

en la linea

Código PHP:

 
echo "numero de cedula   "$resultado[0]; 
kita la coma seria con un punto.

Código PHP:
echo "numero de cedula   " $resultado[0]; 
estas chequeando 0 como string porke ?

Código PHP:
if ($aplico_soli!='0'){ 
para ke la condicion con la variable de SESSION si ya la tienes guarda en la varibale $login

la concatenacion de nuevo es con punto no con coma

Código PHP:
echo " Alerta, el usuario   ",$login,"ya se encuentra inscrito en el proceso de seleccion  ",$aplico_soli;

// deberia ser 

echo " Alerta, el usuario   " $login "ya se encuentra inscrito en el proceso de seleccion  " $aplico_soli
tambien no veo coneccion a tu BD

kedaria algo asi
Código PHP:
<?php

$numero_convocatoria 
$_GET['enviar_numero']; //recibo el numero convocatoria de donde se inscribio el usuario
$login                  $_SESSION['asesor'];

//echo "numero de convocatoria    ", $numero_convocatoria;
//echo $login;


// debes conectarte a tu BD. 
 
// en $inscripcion asocio al usuario y login del usuario
$inscripcion=mysql_query("select a.cedula_soli,a.aplico_soli,b.login_user,b.documento_user from solicitantes AS a, usuarios AS b where a.cedula_soli=b.documento_user and b.login_user='".$login."' ");
$resultado mysql_fetch_array($inscripcion);

$cedula         $resultado[0];
$aplico_soli $resultado[1];

echo 
"Número de cédula " $cedula;

 
 
//echo "su estado de aplico soli es  ",$aplico_soli;
 
if ( $aplico_soli != 0// or diferente de nulo ??
{
    echo 
" Alerta, el usuario " $login " ya se encuentra inscrito en el proceso de seleccion  " $aplico_soli;
}
else
{
    
mysql_query("UPDATE solicitantes SET aplico_soli = '$numero_convocatoria' WHERE cedula_soli = '$login'");
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>
 
<body>
</body>
</html>
  #5 (permalink)  
Antiguo 06/11/2012, 12:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No almacena datos en mysql mediante update

Cita:
Iniciado por mager3 Ver Mensaje
mm pateketrueke dejame decirte que tu opinion es como aquellas que dicen.... BUSCA EN GOOGLE......


será que tus 17.397 opiniones anteriores son del mismo estilo?
Mas o menos, pero también son de: has una búsqueda, revisa las FAQ's, Wiki y Aportes del foro antes de abrir un tema.

Eso o "lee las normas del foro antes de continuar", si revisas algún tema similar verás que se tiende a usar esto:
Código PHP:
mysql_query($consulta) or die(mysql_error()); 
Solamente se trata de depurar la consulta, ya que a simple vista "parece" que está bien escrita, y de ninguna manera podemos saber el por qué de que falle.

Pedías asesoría y ahí está, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 06/11/2012, 13:16
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Información Respuesta: No almacena datos en mysql mediante update

mucho mas completa tu asesoria a la inicial lo cual te lo agradezco, ya con la aplicacion del mysql error me sale en pantalla un aviso que dice "Query was empty", partire desde allí....

Feliz día

En cuanto rolygc te agradezco tambien, aunque las comas estan bien , de hecho me imprmen en pantalla bien esas variables, lo que falla es el UPDATE, y la conexion a la base de datos esta en include ('conexion.php'); en la parte superior del codigo.

Les agradezco a los dos por tomarsen el tiempo de ayudarmen !!
  #7 (permalink)  
Antiguo 06/11/2012, 13:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No almacena datos en mysql mediante update

Curiosamente dicho mensaje de error existe únicamente cuando no hay consulta que ejecutar, eso significa, pero es evidente que si la hay.

¿Estás seguro de editar el script correcto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 06/11/2012, 13:42
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: No almacena datos en mysql mediante update

sii, imaginate que lo ejecute en un cliente SQL y reemplazo los valores de $numero_convocatoria y $cedula por valores existentes y funciona de maravilla, entonces decidi antes de la consulta realizar

echo " el numero de la convocatoria es ",$numero_convocatoria;
echo " el numero de la cedula es ",$cedula;

esto con el fin de saber si esas dos variables si estaban llegando con datos al UPDATE y efectivamente en pantalla me muestra:

el numero de la convocatoria es 05
el numero de la cedula es 854693

osea que los valores si estan presentes, no se porque el UPDATE no funcionara propiamente....
  #9 (permalink)  
Antiguo 06/11/2012, 13:50
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: No almacena datos en mysql mediante update

jajajjaj yupiiii ya descubir el error compañero, me faltaba una ' en el UPDATE donde dice $cedula'
muchas gracias por todo.....
  #10 (permalink)  
Antiguo 06/11/2012, 13:53
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: No almacena datos en mysql mediante update

en esta linea
Código PHP:
else
{
mysql_query("UPDATE solicitantes SET aplico_soli='$numero_convocatoria' WHERE cedula_soli='{$_SESSION['asesor']}'");

ponle

Código PHP:
else
{
echo 
"En el ELSE";
exit;
mysql_query("UPDATE solicitantes SET aplico_soli='$numero_convocatoria' WHERE cedula_soli='{$_SESSION['asesor']}'");

a ver si esta entrando en el update si te muestra en pantalla EN el ELSE
  #11 (permalink)  
Antiguo 06/11/2012, 13:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No almacena datos en mysql mediante update

Intenta almacenar la consulta directamente en una variable antes de ejecutarla, también debes imprimirla para ver si está bien formada, necesitas seguir depurando.

Edito: en hora buena!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: mysql.php
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:15.