Ver Mensaje Individual
  #13 (permalink)  
Antiguo 18/10/2012, 04:34
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: problema para actualizar con update

Cita:
Efectivamente es mejor como dices ya que asi no tendria que poner en el update varias variables solo una que englobaria a todas.
Si, pero ten en cuenta que los arrays existen sólo dentro del PHP. MySQL no sólo no puede tomar las variables de PHP, que no existen para el SQL, sino que ni siquiera existen los arrays en MySQL.
Ten en cuenta que la sentencia UPDATE la estás construyendo como una cadena de texto, y es esa cadena de texto lo que estás enviando. No los objetos de PHP, sino el texto.
Entonces, para que funcione, el array debe ser convertido en una única cadena, donde los valores que el array contiene queden separados por comas (obligatorio en el SQL), y para eso cuentas con inplode().
Código PHP:
Ver original
  1. if(!empty($camiseta)){
  2.  $prenda_1 = "camiseta = '$camiseta'";
  3.  }
  4. if(!empty($codigo_btn_donar)){
  5. $prenda_2 = "pantalon = '$pantalon'";
  6. }
  7. $todas_prendas = array($prenda_1, $prenda_2);  
  8.  $query=mysql_query("UPDATE nombre_tabla SET ".inplode(",", $todas_prendas)." where id_usuario = '$id_usuario'",$link);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)