PHP - PHP+ Postgres: Problemas con nulos y strings blancos

 
Vista:

PHP+ Postgres: Problemas con nulos y strings blancos

Publicado por Tomás Afonso (3 intervenciones) el 18/02/2021 01:16:27
Buenas.

Tengo una tabla grande de datos en Postgres. Los usuarios editan los registros en un formulario web que los usuarios van llenado poco a poco (en cada edición del registro unos campos). Muchos de los campos son numéricos y timestamp y pueden dejarse en blanco (que tengan valor nulo en la base de datos).

Cuando el usuario da a actualizar el registro otra página recibe los datos por POST. El problema ocurre al componer la consulta. Si la compongo con los valores recibidos

update mitabla set fecha='', numero1=, valentero2=, valorreal3= where ......

Mi consulta debería ser:

update mitabla set fecha=null, numero1=null, valentero2=null, valorreal3=null where ......

He intentado diversos métodos para controlar los valores pasado por Post antes de componer la consulta pero no me funciona ninguno. str_replace() , isset, empty, is_null pero no doy con la tecla.

No sé si el problema radica en que el comportamiento de Postgres con los nulos es diferentes.

Ayuda!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

PHP+ Postgres: Problemas campos valor predeterminado null y strings blancos

Publicado por Tomás Afonso (3 intervenciones) el 07/06/2021 23:15:34
Buenas,

Creo que no me he explicado correctamente y por eso nadie ha logrado entenderme para contestarme.

Lo explico de otra manera a ver si me pueden ayudar.

Entorno PHP y Postgres. Tengo un formulario para insertar registros en una tabla con muchos campos, varios de ellos numéricos (integer, real, etc) y timestamp con valor NULL predeterminado en la base de datos.

Cuando envío por Post los datos del formulario de entrada en todos estos campos los que he dejado en blanco llegan como un string vacio lo que hace que se produzca un error al hacer el insert (o update).

La pregunta es como puedo controlar los valores Post para sustituir los string vacios '' por un NULL a la hora de insertar en la base de datos. He intentado distintas soluciones que he encontrado pero ninguna me funciona. Es algo que le tiene que haber pasado a mucha gente así que algo estaré haciendo mal.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP+ Postgres: Problemas campos valor predeterminado null y strings blancos

Publicado por joel (1269 intervenciones) el 08/06/2021 08:30:30
Hola Tomás, la verdad es que no me ha pasado nunca, ya que no acostumbro a trabajar con valores Null en la base de datos...

Puedes probar algo así:
1
$valor=$_POST["campo"] ? $_POST["campo"] : Null;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar