Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/01/2006, 18:49
radian
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
En principio el filtro que usas no tiene influencia en el problema. Por cierto que yo uso "mysql_escape_string($sql)", y así te evitas tener que programártelo tu mismo ;)

El problema viene en las comillas simples para delimitar los valores de las variables en la cadena SQL. Se me ocurre aplicar un filtro específico que se encarga de añadir esas comillas simples en función de si el valor que recibe es NULL o no:

Código:
$sql = "INSERT INTO tabla (var1, var2) VALUES (" . $db->filtrarNulls($param1) . "," . $db->filtrarNulls($param2) . ")";
donde $db es un objeto de la clase que uses para la conexión, y el método "filtrarNulls($param)":

Código:
// Clase de conexión a la base de datos

function filtrarNulls($param) 
{
   if ($param == "valor-vacío-que-recibas")
   {
      $param_r = "NULL";
   }
   else
   {
      $param_r = "'" . mysql_escape_string($param) . "'";
   }
   return $param_r;
}
La verdad es que no lo he probado, pero yo creo que funcionará... y si no es así alguien me gritará

Saludos y suerte