Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con la instruccion update

Estas en el tema de Problema con la instruccion update en el foro de Mysql en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original $sql_qty = "UPDATE t_stock SET cantidad = cantidad + '$qty' WHERE producto = '$PRODUCTO' " ; Tengo una tabla ...
  #1 (permalink)  
Antiguo 23/09/2011, 23:30
 
Fecha de Ingreso: junio-2011
Mensajes: 54
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta Problema con la instruccion update

Código SQL:
Ver original
  1. $sql_qty = "UPDATE t_stock SET cantidad = cantidad + '$qty' WHERE producto = '$PRODUCTO' ";
Tengo una tabla de productos que a medida que me ingresa una cantidad ($qty) de productos me hace un update a la tabla stock y me suma la cantidade, ahora el problema es que si ingreso una cantidad de 55 productos por ejemplo no me suma 55 sino solo 5.. y si la cantidad es 75 me ingresa solo 7 que me falta? que hago mal?




Edit: Aclaro que al mismo tiempo estoy haciendo un insert a la tabla de productos y la cantidad me llega completa a la tabla..

Última edición por alekorn102; 23/09/2011 a las 23:36
  #2 (permalink)  
Antiguo 24/09/2011, 05:19
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, 4 meses
Puntos: 2658
Respuesta: Problema con la instruccion update

Cuando mezclas PHP con MySQL a veces puede haber algunos problemas con el manejo de las variables y la secuencia de ejecución.
En cualquier caso, siempre es mejor que antes que nada hagas un echo con la variable que contiene el UPDATE una vez que lo creas, para asegurarte de qué es lo que realmente está haciendo.
Estar seguro de haberlo hecho bien no es suficiente. Hay que comprobarlo de forma práctica.

Un tip que si te puedo dar es que si estás pasando un número a un campo numérico, no debes poner el valor entre apóstrofes ('). Eso obliga a MySQL a realizar conversiones implícitas y esconde problemas con las variables, ya que si el contenido está mal formateado, el dato se convierte mal.

Es decir, no uses:
Código PHP:
Ver original
  1. $sql_qty = "UPDATE t_stock SET cantidad = cantidad + '$qty' WHERE producto = '$PRODUCTO' ";
usa:
Código PHP:
Ver original
  1. $sql_qty = "UPDATE t_stock SET cantidad = cantidad + $qty WHERE producto = $PRODUCTO";
(estoy suponiendo que $PRODUCTO es un ID numérico)
__________________
¿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: 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:15.