Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2009, 00:03
letni
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Insertar valor NULL en un campo de una tabla MySQL 5 desde script PHP

Hola, quiero insertar el valor NULL en un campo de una tabla MySQL 5 desde un script PHP.

Por ejemplo:

Código php:
Ver original
  1. $Usuario = "Pepe";
  2. $Contrasenia = "1234";
  3. $Tipo = NULL;
  4.  
  5. $sql = "insert into usuario(Usuario,Contrasenia,Tipo) values ('$Usuario','$Contrasenia','$Tipo')";
  6. $Consulta = mysql_query($sql, $Connection);

Yo quiero que PHP me genere esto:

Código php:
Ver original
  1. insert into usuario(Usuario,Contrasenia,Tipo) values ('Pepe','1234',NULL)

pero me genera esto:

Código php:
Ver original
  1. insert into usuario(Usuario,Contrasenia,Tipo) values ('Pepe','1234','')

y no es lo mismo, porque si intento insertar lo primero desde el cliente MySQL SQLyog, me lo inserta sin problemas pero si intento insertar lo segundo, no me lo inserta porque tengo una clave foránea en la tabla Usuario hacia la tabla Tipo que es la tabla que contiene los tipos y no me deja meter el valor '' en el campo Tipo pero sí el valor NULL.

Si en vez de poner:

Código php:
Ver original
  1. $Tipo = NULL

pongo:

Código php:
Ver original
  1. $Tipo = "NULL"
o
Código php:
Ver original
  1. $Tipo = 'NULL'

me genera:

Código php:
Ver original
  1. insert into usuario(Usuario,Contrasenia,Tipo) values ('Pepe','1234','NULL')

con lo que tampoco me vale porque le mete comillas simples a NULL con lo que deja de ser NULL para ser un texto.

He visto que ha habido gente con este mismo problema pero la solución propuesta por GatorV en este post a mi no me ha servido.

¿Sabéis cómo puedo hacerlo?

Gracias.

EDITO:

Al final lo he hecho así:

Código php:
Ver original
  1. $sql = "insert into usuario(Usuario,Contrasenia,Tipo)";
  2. if (($Condicion == "A") or ($Condicion == "B"))
  3.     $sql .= " values ('$Usuario','$Contrasenia',NULL)";
  4. else
  5.     $sql .= " values ('$Usuario','$Contrasenia','$Tipo')";
__________________
Uso Apache 2.2 con PHP 5.5.9 y MySQL 5.1
Uso Eclipse IDE for Java Developers, Version: Mars.1 Release (4.5.1), Build id: 20150924-1200 para programar en Java bajo Windows

Última edición por letni; 22/07/2009 a las 00:39