Foros del Web » Programando para Internet » PHP »

Guardar NULL

Estas en el tema de Guardar NULL en el foro de PHP en Foros del Web. Tengo esto: $v_nombre = $_POST['nombre']; Despues $v_nombre se guarda en un insert. Ahora, cuando el $_POST['nombre'] viene vacíol quiero que el campo en la BD ...
  #1 (permalink)  
Antiguo 27/08/2006, 15:59
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 12 años
Puntos: 0
Guardar NULL

Tengo esto:

$v_nombre = $_POST['nombre'];

Despues $v_nombre se guarda en un insert. Ahora, cuando el $_POST['nombre'] viene vacíol quiero que el campo en la BD lo deje NULL. Como se hace?.

Ya probé con estos dos ejemplos, pero no funcionó:

if ($_POST['nombre'] != '') {
$v_nombre = $_POST['nombre'];
} else {
$v_nombre = 'null';
}


if ($_POST['nombre'] != '') {
$v_nombre = $_POST['nombre'];
} else {
$v_nombre = null;
}
  #2 (permalink)  
Antiguo 27/08/2006, 16:04
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
podrias probar dejando en la tabla de la base como valor predeterminado para ese campo como NULL, luego al haer el insert ni mencionarlo entre los campos a insertar.
  #3 (permalink)  
Antiguo 27/08/2006, 16:40
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 11 años, 3 meses
Puntos: 0
Para comprobar que está vacío puedes usar empty, y para insertarlo null puedes dejarlo como una cadena vacía

Código PHP:
if(empty($_POST['nombre']))
{
  
$nombre $_POST['nombre'];
}
else
{
  
$nombre '';

  #4 (permalink)  
Antiguo 29/08/2006, 13:07
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 12 años
Puntos: 0
Pero inserarlo como una cadena vacía, no lo deja en null.
Deja el campo vacío, que no es lo mismo.

Gracias igual. Si algun otro se le ocurre algo, se agradecerá
  #5 (permalink)  
Antiguo 29/08/2006, 14:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por chancha Ver Mensaje
Pero inserarlo como una cadena vacía, no lo deja en null.
Deja el campo vacío, que no es lo mismo.

Gracias igual. Si algun otro se le ocurre algo, se agradecerá
bueno .. lo primero es que tu campo en cuestión de tu BBDD (tabla implicada) permita permita los "null", con una propiedad tipo: "allow NULL" (en la definición de la tabla y campo en concreto).

Cuando ejecutes tu sentencia SQL .. Si tu valor es NULL no puede ir entre comillas. Es decir .. si lo normal es hacer:

Código PHP:
$sql="INSERT INTO tabla (id,dato) VALUES ('','".$dato."'")"; 
Debemos si usas "NULL":

$sql="INSERT INTO tabla (id,dato) VALUES ('',NULL)";

Como tu "variable" puede tener o un valor o ninguno .. ahí tienes que trabajar ese punto ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 01:53.