Foros del Web » Programando para Internet » PHP »

¿Como puedo hacer un UPDATE correctamente?

Estas en el tema de ¿Como puedo hacer un UPDATE correctamente? en el foro de PHP en Foros del Web. Hola queria saber que es lo que esta mal o que es lo que hago mal con el update.Lo estoy utilizando para modificar las Unidades_Regalo ...
  #1 (permalink)  
Antiguo 09/05/2011, 15:26
Avatar de sylwiatam  
Fecha de Ingreso: abril-2011
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Información ¿Como puedo hacer un UPDATE correctamente?

Hola queria saber que es lo que esta mal o que es lo que hago mal con el update.Lo estoy utilizando para modificar las Unidades_Regalo ya que las otras tres forman la clave primaria.Funciona casi ,pero al enviar los datos no se mopdifican en mi base de datos no se porque hmm.el codigo es este:


$c1="UPDATE promocion_menu SET Unidades_Regalo='$_POST[Unidades_Regalo1]' WHERE Codigo_Menu='$_POST[Codigo_Menu1]',Codigo_Regalo='$_POST[Codigo_Regalo1]',Codigo_Promocion='$_POST[Codigo_Promocion1]';";
$r1=mysql_query($c1);


El error que me da al enviar los datos es:consulta SQL:

$c1 = "UPDATE promocion_menu SET Unidades_Regalo='$_POST[Unidades_Regalo1]' WHERE Codigo_Menu='$_POST[Codigo_Menu1]',Codigo_Regalo='$_POST[Codigo_Regalo1]',Codigo_Promocion='$_POST[Codigo_Promocion1]';";



MySQL ha dicho:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$c1="UPDATE promocion_menu SET Unidades_Regalo='$_POST[Unidades_Regalo1]' WHERE ' at line 1


He estado consultando el manual pero no lo veo hmm no se deberia funcionar asi hmm alguien que pueda ayudarme ??
  #2 (permalink)  
Antiguo 09/05/2011, 15:29
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

la condicion que colocas no esta correcta, para hacer un update deberia de ser de la siguiente manera
Código MySQL:
Ver original
  1. UPDATE tabla SET campo='valor' WHERE campo1 = 'lo que sea' AND campo2 = 'lo que sea 2';
revisa un poco mas las sentencias de SQL ya que ahi esta tu problema, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 09/05/2011, 15:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

El error nos está diciendo algo:
Cita:
... near '$c1="UPDATE p...
Y lo curioso es que el mensaje está mostrando sintaxis de código php dentro de tu consulta!!

Eso si no tiene sentido, ¿de verdad podrías mostrar el código completo y verdadero que empleas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 10/05/2011, 03:06
Avatar de sylwiatam  
Fecha de Ingreso: abril-2011
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

Hola sigue sin funcionar :( os pongo el codigo entero mejor a ver que le veis.
este es:


<html><head></head><body>
<style type="text/css">

<!--
body,td,th {
color: #000000;
}
body {
background-color: #999999;
}
-->
</style>

<?php
$servidor="localhost";
$basededatos="bd_pizzeria";
$usuario="root";
$password="";

$conexion=mysql_connect($servidor, $usuario, $password)
or die("No se pudo realizar la conexion al servidor");
mysql_select_db($basededatos)
or die("No se pudo abrir la base de datos");

$consulta1="select Codigo_Menu from promocion_menu";
$resultado1=mysql_query($consulta1);

$consulta2="select Codigo_Regalo from promocion_menu";
$resultado2=mysql_query($consulta2);

$consulta3="select Codigo_Promocion from promocion_menu";
$resultado3=mysql_query($consulta3);
?>


<center><font size=6 color=blue>Modificacion Promocion Menu</font>
<FORM ACTION="cons_modificacion.php" METHOD="POST">


<br><br>Datos a Modificar:</br>
<br>Codigo del Menu:
<?php
echo "<SELECT NAME= 'Codigo_Menu1'>";
while ($fila1=mysql_fetch_row($resultado1)){
echo "<option value=\"$fila1[0]\">$fila1[0] </option>";
}
echo "</select><br>";

echo "<br>Codigo Regalo:";
echo "<SELECT NAME= 'Codigo_Regalo1'>";
while ($fila1=mysql_fetch_row($resultado2)){
echo "<option value=\"$fila1[0]\">$fila1[0] </option>";
}
echo "</select><br>";

echo "<br>Codigo Promocion:";
echo "<SELECT NAME='Codigo_Promocion1'>";
while ($fila1=mysql_fetch_row($resultado3)){
echo "<option value=\"$fila1[0]\">$fila1[0] </option>";
}
echo "</select><br>";

?>

<center><font size=6 color=blue>Datos a Modificar</font>





<br><br><br>Nuevo registro:<br>


<br>Unidades_Regalo:
<INPUT type="text" maxlenght=20 name='Unidades_Regalo1'>



<br><br><input type="submit" value="Modificar Promocion Menu">
</FORM>
<?php
if(isset($_POST["Unidades_Regalo1"])){
?>
<body bgcolor=\"#5080e7\">
<center><font size='6' color='blue'> Modificación Promocion Menu<br><BR></font>

Datos anteriores: <br><br>
<?php
echo "Codigo Menu: ".$_POST['Codigo_Menu1']."<br>";
echo "Codigo Regalo: ".$_POST['Codigo_Regalo1']."<br>";
echo "Codigo Promocion: ".$_POST['Codigo_Promocion1']."<br>";


echo "<BR>";

echo "Datos de modificación:<br><br>";

echo "Codigo Menu: ".$_POST['Codigo_Menu1']."<br>";
echo "Codigo Regalo: ".$_POST['Codigo_Regalo1']."<br>";
echo "Codigo Promocion: ".$_POST['Codigo_Promocion1']."<br>";
echo "Unidades Regalo: ".$_POST['Unidades_Regalo1']."<br>";




$c1="UPDATE promocion_menu SET Unidades_Regalo='$_POST[Unidades_Regalo1]' WHERE Codigo_Menu='$_POST[Codigo_Menu1]',Codigo_Regalo='$_POST[Codigo_Regalo1]',Codigo_Promocion='$_POST[Codigo_Promocion1]';";
$r1=mysql_query($c1);
echo $r1;

echo "<br><br><br>Los datos se han modificado satisfactoriamente.";
}


?>


</center>
</body>
</html>
  #5 (permalink)  
Antiguo 10/05/2011, 03:51
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

Cita:
Iniciado por sylwiatam Ver Mensaje
Hola sigue sin funcionar :( os pongo el codigo entero mejor a ver que le veis.
Claaro que te sigue sin funcionar ¿Lo has mirado bien? ¡Sabiendo que el error está en la consulta es sólo uan cuestión de descartar posibilidades incluso cuando no lo ves!
¿Realmente has mirado o lo quieres hecho?

Hay un botoncito que sale en avanzado que sirve para envolver el código PHP y que este sea más legible. Que nadie parece usarlo...


Código PHP:
$c1="UPDATE promocion_menu SET Unidades_Regalo='$_POST[Unidades_Regalo1]' WHERE Codigo_Menu='$_POST[Codigo_Menu1]',Codigo_Regalo='$_POST[Codigo_Regalo1]',Codigo_Promocion='$_POST[Codigo_Promocion1]';"
Es un tanto obvio que $_POST[Unidades_Regalo1] ¡No es nada!
Debería ser: $_POST['Unidades_Regalo1']. (Fíjate que no has puesto comillas entre Unidades regalo1).
Como parece que te has hecho un lío con las comillas y donde van, prueba de esta forma:

Código PHP:
$c1="UPDATE promocion_menu SET Unidades_Regalo='".$_POST['Unidades_Regalo1']."' WHERE Codigo_Menu='".$_POST['Codigo_Menu1']."',Codigo_Regalo='".$_POST['Codigo_Regalo1']."',Codigo_Promocion='".$_POST['Codigo_Promocion1']."'"
Y por cierto, cuando pongan el código a ver si ponemos sólo la parte relacionada, porque que manía con poner el html y hasta la css.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Última edición por IEKK; 10/05/2011 a las 03:59
  #6 (permalink)  
Antiguo 10/05/2011, 06:59
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años
Puntos: 0
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

jajaja, IEKK vas fuerte con tus comentarios.

Estimado sylwiatam,
tu consulta esta mal, le falta el AND en el WHERE.
  #7 (permalink)  
Antiguo 10/05/2011, 09:04
 
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años
Puntos: 2
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

Hola, Unidades_Regalo no será de tipo numerico no? Porque si es asi te sobran las comillas
  #8 (permalink)  
Antiguo 13/05/2011, 13:20
Avatar de sylwiatam  
Fecha de Ingreso: abril-2011
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Respuesta: ¿Como puedo hacer un UPDATE correctamente?

Muchas gracias xla ayuda al final era una barra que estaba mal puesta ya lo tengo resuelto.

Etiquetas: correctamente, 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 01:17.