Foros del Web » Programando para Internet » PHP »

update

Estas en el tema de update en el foro de PHP en Foros del Web. que estoy haciendo mal? <?php $result = mysql_query("UPDATE tabla set campo = '$campo ' WHERE id ='id' "); { echo "no actualizado"; else echo "registro ...
  #1 (permalink)  
Antiguo 11/07/2011, 09:08
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
update

que estoy haciendo mal?


<?php
$result = mysql_query("UPDATE tabla set campo = '$campo ' WHERE id ='id' ");

{
echo "no actualizado";

else

echo "registro actualizado";
}


}
?>
  #2 (permalink)  
Antiguo 11/07/2011, 09:09
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: update

Para empezar, explicarte.

Pero deduciendo muchas cosas, creo que te falta el $ en el id, es decir WHERE id ='$id'.

Un saludo.
  #3 (permalink)  
Antiguo 11/07/2011, 09:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: update

usa mysql_error para verificar los errores
Código PHP:
Ver original
  1. mysql_query('aqui va tu consulta') or die(mysql_error());
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 11/07/2011, 09:11
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

quiero que esa linea de codigo me actulice un registro...
  #5 (permalink)  
Antiguo 11/07/2011, 09:17
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

Cita:
Iniciado por abimaelrc Ver Mensaje
usa mysql_error para verificar los errores
Código PHP:
Ver original
  1. mysql_query('aqui va tu consulta') or die(mysql_error());
lo que necesito es ayuda con la consulta pq no me sale
  #6 (permalink)  
Antiguo 11/07/2011, 09:19
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: update

A mi me parece que tiene error de sintaxis:

Código PHP:
Ver original
  1. <?php
  2. $result = mysql_query("UPDATE tabla set campo = '$campo ' WHERE id ='id' ");
  3. if ($result == FALSE)
  4. {
  5. echo "no actualizado";
  6. }else{
  7. echo "registro actualizado";
  8. }
  9. ?>

Creo que eso es lo que intentas hacer.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 11/07/2011, 09:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: update

Te repito, usa mysql_error, para que el mismo sistema te indique el error, de ahí entenderas porque no te resulta
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 11/07/2011, 09:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

hm...no comprendo...sigue si actulizar en la tabla...debo de agregar algo al formulario de los datos?
  #9 (permalink)  
Antiguo 11/07/2011, 09:27
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: update

Donde estas pasando el ID del registro ?

"UPDATE tabla set campo = '$campo ' WHERE id ='id' "

Según eso estas diciendo que actualice todos los campos donde ID sea igual a ID...

deberias pasarle el ID del registro (no se como lo vas a mandar) asi:

"UPDATE tabla set campo = '$campo ' WHERE id ='$id' "

Y utiliza lo que dice ABIMAELRC para que sepas que es lo que esta pasando:

$result = mysql_query("UPDATE tabla set campo = '$campo ' WHERE id ='id' ") or die (mysql_error());
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 11/07/2011 a las 09:29 Razón: Mas informacion
  #10 (permalink)  
Antiguo 11/07/2011, 09:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

tengo esto que me trae los datos...
Código PHP:


<?php 
$result 
mysql_query("SELECT * FROM tabla WHERE id='".$_GET["id"]."' ");
 
?>
Entonces en el formulario me muestra todos los campos...


en el de actulizar tengo esto que me han dicho uds..

$result = mysql_query("UPDATE table set campo = '$campo' WHERE id ='$id' ");
if ($result == FALSE)
{
echo "no actualizado";
}else{
echo "registro actualizado";
}

al momento de ejecutar solo muesta el mensaje de "ok". pero la data sigue igual
  #11 (permalink)  
Antiguo 11/07/2011, 09:41
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: update

entonces en el formulario que te muestra todos los resultados pasale el ID como campo HIDDEN a la sentencia UPDATE

Código HTML:
Ver original
  1. <input type="hidden" name="id" value="<?php $resultadoConsulta['identificador'] ?>" />
  2. </form>

Después en el UPDATE lo recoges dependiendo de lo que utilices POS o GET

Código PHP:
Ver original
  1. $id = $_POST['id'];

y haces la consulta con ese ID así:

Código MySQL:
Ver original
  1. $result = mysql_query("UPDATE table set campo = '$campo' WHERE id ='$id' ") or die (mysql_error());
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #12 (permalink)  
Antiguo 11/07/2011, 10:08
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

Cita:
Iniciado por jotaincubus Ver Mensaje
entonces en el formulario que te muestra todos los resultados pasale el ID como campo HIDDEN a la sentencia UPDATE

Código HTML:
Ver original
  1. <input type="hidden" name="id" value="<?php $resultadoConsulta['identificador'] ?>" />
  2. </form>

Después en el UPDATE lo recoges dependiendo de lo que utilices POS o GET

Código PHP:
Ver original
  1. $id = $_POST['id'];

y haces la consulta con ese ID así:

Código MySQL:
Ver original
  1. $result = mysql_query("UPDATE table set campo = '$campo' WHERE id ='$id' ") or die (mysql_error());

Es que tengo todo parecido a eso mismo que dices...Este es el formulario html

Código PHP:


<form action="actualizar.php" method="get">
  <table width="387" height="131" border="0" align="center" cellpadding="2" cellspacing="2">
  
  <tr>
    <td height="127" scope="col"><p>&nbsp;</p>
      <p>Nombre: 
      </p>
      <label>
      <textarea name="nombre" cols="50" rows="2" id="nombre"><?php echo ($reg["campo"]);?></textarea>
      <input name="id" type="hidden" id="id" value="<?php echo $_GET["id"]?>">
   
      <input name="button" type="submit" id="button" value=" " />


y esto seria la consulta...

Código PHP:


<?php
$result 
mysql_query("UPDATE tabla set nombre = '$nombre ' WHERE id ='$id' ");
if (
$result == FALSE)
{
echo 
"no actualizado";
}else{
echo 
"registro actualizado";
}
?>

No encuentro donde es que trabaja mal
  #13 (permalink)  
Antiguo 11/07/2011, 10:14
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: update

Ese codigo PHP lo tenes en otra pagina.php ?

Si es asi debes tomar los datos que envías para pasárselos al UPDATE:

$nombre = $_GET['nombre'];
$id = $_GET['id'];

$result = mysql_query("UPDATE tabla set nombre = '$nombre ' WHERE id ='$id' ") or die (mysql_error());

Y recuerda el OR DIE para que te muestre el error....
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #14 (permalink)  
Antiguo 11/07/2011, 10:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

Cita:
Iniciado por jotaincubus Ver Mensaje
Ese codigo PHP lo tenes en otra pagina.php ?

Si es asi debes tomar los datos que envías para pasárselos al UPDATE:

$nombre = $_GET['nombre'];
$id = $_GET['id'];

$result = mysql_query("UPDATE tabla set nombre = '$nombre ' WHERE id ='$id' ") or die (mysql_error());

Y recuerda el OR DIE para que te muestre el error....
el formulario esta en una diferente a donde se encuentra la consulta
  #15 (permalink)  
Antiguo 11/07/2011, 10:34
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: update

Bueno, entonces solo necesitas eso que te coloque... como tu estas enviando el formulario con metodo GET podes fijarte si las variables estan pasando en la URL asi:

actualizar.php?nombre=algo&id=otracosa

Entonces haces lo que te dije en actualizar.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $nombre = $_GET['nombre'];
  4. $id = $_GET['id'];
  5.  
  6. $result = mysql_query("UPDATE tabla set nombre = '$nombre' WHERE id ='$id'") or die (mysql_error());
  7. if ($result == FALSE)
  8. {
  9. echo "no actualizado";
  10. }else{
  11. echo "registro actualizado";
  12. }
  13. ?>

Y te fijas si hace el UPDATE en la base de datos o te muestra el error con OR DIE
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #16 (permalink)  
Antiguo 11/07/2011, 11:06
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: update

Cita:
Iniciado por jotaincubus Ver Mensaje
Bueno, entonces solo necesitas eso que te coloque... como tu estas enviando el formulario con metodo GET podes fijarte si las variables estan pasando en la URL asi:

actualizar.php?nombre=algo&id=otracosa

Entonces haces lo que te dije en actualizar.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $nombre = $_GET['nombre'];
  4. $id = $_GET['id'];
  5.  
  6. $result = mysql_query("UPDATE tabla set nombre = '$nombre' WHERE id ='$id'") or die (mysql_error());
  7. if ($result == FALSE)
  8. {
  9. echo "no actualizado";
  10. }else{
  11. echo "registro actualizado";
  12. }
  13. ?>

Y te fijas si hace el UPDATE en la base de datos o te muestra el error con OR DIE
Dios mio...q novatada...estaba enviando en POST y recibiendo en GET...gracias a todos de nuevo...

Etiquetas: mysql, tabla, update
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 14:45.