Foros del Web » Programando para Internet » PHP »

Update sql con php

Estas en el tema de Update sql con php en el foro de PHP en Foros del Web. Hola Buenas Tardes tengo algo de complicación para poder modificar con la consulta update en php soy principiante en la programación web : silbar:: $sql=" ...
  #1 (permalink)  
Antiguo 10/04/2015, 15:03
 
Fecha de Ingreso: abril-2015
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Exclamación Update sql con php

Hola Buenas Tardes tengo algo de complicación para poder modificar con la consulta update en php soy principiante en la programación web : silbar::

$sql=" update producto set cproducto = $this->cproducto, description = $this->description, umedida = $this->umedida, pst = $this->pst, iva = $this->iva, pt = $this->pt where cproducto = '$this->idprod' description = $this->description umedida = $this->umedida pst = $this->pst iva = $this->iva pt = $this->pt";

de alguna forma creo que estoy cometiendo un error si me podrian ayudar.
  #2 (permalink)  
Antiguo 10/04/2015, 16:16
Avatar de javiipg  
Fecha de Ingreso: febrero-2015
Ubicación: Barcelona
Mensajes: 10
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Update sql con php

Puedes hacer un echo de la query y mostrarlo?
Código PHP:
echo $sql
A ver si te está generando correctamente la query sql que quieres realizar.
  #3 (permalink)  
Antiguo 10/04/2015, 16:25
 
Fecha de Ingreso: abril-2015
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Respuesta: Update sql con php

Amigo no me responde yo creo que estoy haciendo algo mal

Última edición por carlosrqm01; 10/04/2015 a las 16:31
  #4 (permalink)  
Antiguo 10/04/2015, 19:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Update sql con php

Cita:
Iniciado por carlosrqm01 Ver Mensaje
Amigo no me responde yo creo que estoy haciendo algo mal
Si, estás haciendo algo mal. Esto está muy mal escrito:
Código SQL:
Ver original
  1. UPDATE producto
  2. SET
  3.     cproducto = $this->cproducto,
  4.     description = $this->description,
  5.     umedida = $this->umedida,
  6.     pst = $this->pst,
  7.     iva = $this->iva,
  8.     pt = $this->pt
  9. WHERE
  10.     cproducto = '$this->idprod'
  11.     description = $this->description
  12.     umedida = $this->umedida
  13.     pst = $this->pst
  14.     iva = $this->iva pt = $this->pt
Por lo pronto, para que ese SET funcione, todos esos campos deberían ser numéricos, lo que no creo que se cumpla en "descripcion", por ejemplo. Eso es una cadena de caracteres.
En segundo lugar , las condiciones de un WHERE se vinculan con AND u OR, y no lo estás haciendo.
Para acercarnos a una sintaxis que más o menos peuda funcionar, debería ser por lo menos así:
Código SQL:
Ver original
  1. UPDATE producto
  2. SET     cproducto = $this->cproducto,
  3.     description = $this->description,
  4.     umedida = $this->umedida,
  5.     pst = $this->pst,
  6.     iva = $this->iva,
  7.     pt = $this->pt
  8. WHERE
  9.     cproducto = '$this->idprod'
  10.     AND description = $this->description
  11.     AND umedida = $this->umedida
  12.     AND pst = $this->pst
  13.     AND iva = $this->iva pt = $this->pt
Claro que esa sintaxis tampoco está bien, porque siendo un producto, y considerando que "idprod" es PK, el resto de los campos del WHERE no tiene sentido de estar alli. Son irrelevantes y además incorrectos, proque si estás actualziando esos datos, es obvio que como condiciones nunca se cumplirán...
Código SQL:
Ver original
  1. UPDATE producto
  2. SET     description = '$this->description',
  3.     umedida = $this->umedida,
  4.     pst = $this->pst,
  5.     iva = $this->iva,
  6.     pt = $this->pt
  7. WHERE
  8.     cproducto = $this->idprod

Creo que necesitas estudiar SQL básico, elemental.

Nota: Desconozco los tipos de datos del resto de los campos, por lo que solo corregi lo que va en el "description".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: sql, 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 21:51.