Foros del Web » Programando para Internet » PHP »

Duda con valor Null

Estas en el tema de Duda con valor Null en el foro de PHP en Foros del Web. Holas ! espero que puedan darme una mano con la siquiente duda, la verdad no es muy complicada pero no se como resolverla. Lo que ...
  #1 (permalink)  
Antiguo 03/09/2008, 08:26
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Duda con valor Null

Holas ! espero que puedan darme una mano con la siquiente duda, la verdad no es muy complicada pero no se como resolverla. Lo que quiero hacer es, suponiendo esto:
Código PHP:
if($variable!="")
$variable="algo";
else
{
$variable=null;
//o
$variable="null";
//o
$variable="NULL";

Osea la duda es la siguiente, como le asigno null para despues poder insertar $variable en la base de datos mysql. De la primer manera simplemente me guarda vacio, y de las otras me guarda la cadena de caracteres "null", pero no NULL como deberia ser, ¿me explique bien?. Si no se entiende me dicen y trato de ponerlo mejor.
Desde ya agradezco sus comentarios.
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #2 (permalink)  
Antiguo 03/09/2008, 08:30
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Duda con valor Null

simplemente cuando estes haciendo el instert no le pones nada al valor que vas a agrgar eje:
insert into tabla1 id,nombre,apellido1,appelido2 values(13,'lobo','php','')
en el BD se te guarda como null pero debes dde dejarla como null en la base de datos si la tienes como not null te genera error
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 03/09/2008, 08:34
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda con valor Null

Primero que nada, deberías asegurarte de que el campo no está marcado como "NOT NULL".
Dado que si está marcado como NOT NULL, ante la falta de un valor se colocará el valor por defecto.

Si NULL es un valor posible, debería guardarse bien si generás la consulta de esta forma:
Código:
INSERT INTO tabla(campo1, ...., campoN) VALUES("valor1", ..., NULL)
(sin las comillas en NULL)

Si no recuerdo mal, mandar una cadena vacía debería funcionar también.


Saludos.
  #4 (permalink)  
Antiguo 03/09/2008, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Duda con valor Null

De hecho la cadena vacia se inserta como cadena vacia, lo mejor es en dado caso como como dice alvlin, con NULL (sin comillas), o omitiendo el campo.

Saludos.
  #5 (permalink)  
Antiguo 03/09/2008, 10:00
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Duda con valor Null

Gracias por las respuestas de todos, pero como me dices alvlin entiendo perfectamente pero como hago ya que en el lugar del supuesto null, yo envio una variable es decir
Código:
INSERT INTO tabla(campo1, ...., campoN) VALUES("valor1", ..., '$variable')
Se agredece.
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #6 (permalink)  
Antiguo 03/09/2008, 10:01
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Duda con valor Null

mejor ponele null ahorrate codigo y doloresd e cabeza
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #7 (permalink)  
Antiguo 03/09/2008, 10:06
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda con valor Null

Si ya lo tenés codificado de esa forma, te va a ser difícil.

Si fuera tu, lo haría así:

Código PHP:
if ($variable != "") {
    
$variable "'algo'";  // agrego las comillas acá mismo
} else {
    
$variable "NULL";

Código:
INSERT INTO tabla(campo1, ...., campoN) VALUES("valor1", ..., $variable)
La variable la colocás sin las comillas, teniendo la precaución de entrecomillar el valor al asignarlo. Así, si la variable tiene un valor no nulo, queda
Código:
INSERT INTO tabla(campo1, ...., campoN) VALUES("valor1", ..., 'algo')
y si tiene un valor nulo, queda
Código:
INSERT INTO tabla(campo1, ...., campoN) VALUES("valor1", ..., NULL)
Espero haberme explicado bien.


Saludos.
  #8 (permalink)  
Antiguo 03/09/2008, 17:50
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Duda con valor Null

Muchisimas Gracias alvlin mejor explicado imposible, gracias !!
Saludos
__________________
->Aprender es un proceso que incluye el error..
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 11:37.