Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO problemas en insert php a bd (,)

Estas en el tema de problemas en insert php a bd (,) en el foro de PHP en Foros del Web. presento un problema a la hora de hacer un insert en la bd me marca una coma en values(,'2015/03/... Query failed: ERROR: error de sintaxis ...
  #1 (permalink)  
Antiguo 11/03/2015, 08:41
 
Fecha de Ingreso: febrero-2015
Mensajes: 25
Antigüedad: 9 años, 2 meses
Puntos: 1
Información problemas en insert php a bd (,)

presento un problema a la hora de hacer un insert en la bd me marca una coma en values(,'2015/03/...

Query failed: ERROR: error de sintaxis en o cerca de «,» LINE 1: ...co_transporte, tx_observaciones, tx_npdvsa)values(,'2015/03/... ^ in

EL problema es que hay no hay coma de mas
Código PHP:
$cod=$_POST['cod'];
$placa=$_POST['numero'];
$fecha=date('Y/m/d');
$obs=$_POST['ob'];

$sql="insert into salida_taller (co_ingreso_taller,fecha_salida,observaciones,placa)values($cod,'$fecha','$ob','$placa')";
pg_query($con,$sql) or die (pg_error($con));
echo 
"<script>";
echo 
"alert('¡ Salida Registrada!');";
echo 
"</script>";
echo
"<script> location.href='taller.php'</script>";
    
pg_close($con); 
  #2 (permalink)  
Antiguo 11/03/2015, 08:51
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: problemas en insert php a bd (,)

Cita:
EL problema es que hay no hay coma de mas
No, el problema es que $cod está entrando nulo, por lo que queda vacío lo que debería contener, y genera un error.
Verifica lo que te está entrando en
Código PHP:
Ver original
  1. $cod=$_POST['cod'];

Lo bueno es que como lo manejas como numérico, entonces dispara el error, que de otro modo quedaría oculto.
__________________
¿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 11/03/2015, 09:28
 
Fecha de Ingreso: febrero-2015
Mensajes: 25
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: problemas en insert php a bd (,)

lo tengo en un campo hidden este codigo lo obtengo de otra tabla ya verifique me me lo muestre pero al momento de enviarlo por post no llega nada

<input type="hidden" name="cod" value="<?php echo $reg['codigo'];?>" >
  #4 (permalink)  
Antiguo 11/03/2015, 09:53
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: problemas en insert php a bd (,)

En el insert sitúate en la parte de VALUES () estoy visualizando que tu variable $cod no esta entre comillas simple

INCORRECTO
VALUES ( $cod );

CORRECTO
VALUES ( '$cod' );

Verifica y nos dices si solvento el problema
  #5 (permalink)  
Antiguo 11/03/2015, 09:56
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: problemas en insert php a bd (,)

Código PHP:
$cod=$_POST['cod']; 
antes de que se me olvide haz esto

$cod=TRIM($_POST['cod']);

como dices que esa variable viene de otro lado a lo mejor trae espacios en blanco el trim los eliminara
  #6 (permalink)  
Antiguo 11/03/2015, 10: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, 5 meses
Puntos: 2658
Respuesta: problemas en insert php a bd (,)

Cita:
Iniciado por binshmikertan Ver Mensaje
En el insert sitúate en la parte de VALUES () estoy visualizando que tu variable $cod no esta entre comillas simple

INCORRECTO
VALUES ( $cod );

CORRECTO
VALUES ( '$cod' );

Verifica y nos dices si solvento el problema
Totalmente equivocado.
Un valor numérico no debe ponerse como cadena de texto. Eso es básico.
Si hubiese puesto eso que le indicas, se generaría un error de datos, sin jamás detectarse que el problema está en la lelgada del mismo al script PHP.

NUNCA se ponen los numeros como cadenas, eso esconde errores de programación.
No se hace en Bases de datos. Eso es un defecto de costumbre de programadores, que quieren evitar validar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 11/03/2015 a las 10:26
  #7 (permalink)  
Antiguo 11/03/2015, 10:35
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: problemas en insert php a bd (,)

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Totalmente equivocado.
Un valor numérico no debe ponerse como cadena de texto. Eso es básico.
Si hubiese puesto eso que le indicas, se generaría un error de datos, sin jamás detectarse que el problema está en la lelgada del mismo al script PHP.

NUNCA se ponen los numeros como cadenas, eso esconde errores de programación.
No se hace en Bases de datos. Eso es un defecto de costumbre de programadores, que quieren evitar validar.



las disculpas por mi comentario Erróneo no había identificado bien cual era la finalidad y la función de cada variable pero respecto a este problema del Usuario que realizo la pregunta puedo ver claramente que le falta una letra en el valúes

Código PHP:
$cod=$_POST['cod']; 
$placa=$_POST['numero']; 
$fecha=date('Y/m/d'); 
$obs=$_POST['ob']; 

$sql="insert into salida_taller (co_ingreso_taller,fecha_salida,observaciones,placa)values($cod,'$fecha','$ob','$placa')"
pg_query($con,$sql) or die (pg_error($con)); 
echo 
"<script>"
echo 
"alert('¡ Salida Registrada!');"
echo 
"</script>"
echo
"<script> location.href='taller.php'</script>"
     
pg_close($con); 
le falta una letra " s " ala variable $ob pues fue declarada de nombre $obs
  #8 (permalink)  
Antiguo 11/03/2015, 10:41
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: problemas en insert php a bd (,)

SI, efectivament, puso $ob, en lugar de $obs, pero siendo que en el VALUES lo tiene como cadena de texto (entre apostrofos), el error hace que se inserte una cadena vacía, lo cual para SQL no es un error (una cadena vacía no es NULL).
Técnicamente genera un error de datos, pero no dispararía un error de ejecución o sintaxis a nivel SQL.

Es el caso de un defecto de programación que queda escondido al momento de insertar en la base, por falta de debuggeo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 11/03/2015, 12:49
 
Fecha de Ingreso: febrero-2015
Mensajes: 25
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: problemas en insert php a bd (,)

si le coloco las '' a cod si funciona pero me guarda la obs y la placa vacia

$cod=$_POST['cod'];
$placa=$_POST['numero'];
$fecha=date('Y/m/d');
$obs=$_POST['ob'];

$sql="insert into salida_taller (co_ingreso_taller,fecha_salida,observaciones,plac a)values($cod,'$fecha','$obs','$placa')";
pg_query($con,$sql) or die (pg_error($con));
echo "<script>";


echo "alert('¡ Salida Registrada!');";
echo "</script>";
echo"<script> location.href='taller.php'</script>";

pg_close($con);

Etiquetas: fecha, 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 16:06.