Foros del Web » Programando para Internet » PHP »

error en base de datos que no entiendo

Estas en el tema de error en base de datos que no entiendo en el foro de PHP en Foros del Web. Buenas tardes amigos... tengo ya un tiempo programando un sistema web de facturación y me habia funcionado bien hasta estos dias que me salio este ...
  #1 (permalink)  
Antiguo 14/12/2012, 13:22
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 5 meses
Puntos: 0
error en base de datos que no entiendo

Buenas tardes amigos... tengo ya un tiempo programando un sistema web de facturación y me habia funcionado bien hasta estos dias que me salio este error

Warning: mssql_query() [function.mssql-query]: message: Hay menos columnas en la instrucci�n INSERT que valores en la cl�usula VALUES. El n�mero de valores de VALUES debe coincidir con el de columnas de INSERT. (severity 15) in C:\AppServ\www\prueba\guardar_factura.php on line 196

lo que no entiendo por que la linea de codigo de esa parte es esta

Código PHP:
 $query_operacion="INSERT INTO Tab_OrdInsumos_Mae (TxtCedula, TxtNombrePoductor, FecEmision, FecVencimiento, NumTotal_Iva, Base_Imponible, Sub_Total, CondPago, IVA) VALUES ('$CLIENTE', '$NOMBRE', '$fecha', '$fechaV',$baseimpuestos, $baseimponible, $preciototal, '$myradio', $iva)";         
                
$rs_operacion=mssql_query($query_operacion); 
y como pueden ver hay la misma cantidad de columnas INSERT y VALUES entonces no se que puede ser porque revisando el error solo me da cuando coloco cantidades grandes...
agradezco su ayuda
  #2 (permalink)  
Antiguo 14/12/2012, 13:33
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: error en base de datos que no entiendo

La pregunta sería...
Las variables $baseimpuestos, $baseimponible, $preciototal y $iva, contienen valores decimales con comas o con punto decimal...?
Si alguno de ellos entra con coma decimal, MySQL lo está interpretando como un separador de valores, porque la bases de datos (y no sólo MYSQL) esperan el punto, no la coma, como separador.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/12/2012, 13:36
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: error en base de datos que no entiendo

la base de datos me lo almacena decimal con coma creo q ese es el problema q puedo hacer?? porq el problema es cuando el monto da mas de 999,00
  #4 (permalink)  
Antiguo 14/12/2012, 13:47
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: error en base de datos que no entiendo

Listo gracias amigo tenias razon el problema era q tenia el formato cambiado y al llegar a mi se guardaba 1,000 y no 1.000 pero ya lo solucione
  #5 (permalink)  
Antiguo 14/12/2012, 13:48
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: error en base de datos que no entiendo

Las bases de datos no "guardan" como comas, porque los números se almacenan como binarios. No como cifras.
En todo caso eso hay que verificarlo con el manual de la librería SQL Server en PHP, que está on-line. Es posible que requiera un formateo específico para tomarlo.
Verifica el uso de parámetros en http://php.net/manual/en/function.mssql-bind.php
Puede mejorar tu uso de consultas.
__________________
¿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
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 09:06.