Hola a todos, no se si la pregunta viene en este foro, creo que sí porque realmente el problema lo tengo al dar valor a una variable en php. Luego esa variable la uso para una consulta en mysql.
El problema es el siguiente, tengo que hacer una inserción en una tabla que tiene definida una clave foránea a otra tabla (la clave foránea debe apuntar a una clave primaria válida o ser nula). El valor de esa clave los tengo guardado en una variable. Si la variable tiene el valor (cadena de texto) que existe como clave primaria no da problemas y si no existe sí. Hasta aquí todo correcto, pero si no tengo valor para esa variable, necesito meter un "null" en la BD, pero si hago (cualquiera de las siguientes):
Código PHP:
$autor_art='null'; $autor_art="null"; $autor_art=null; $autor_art='';
Para luego meterlo así
Código PHP:
$result=mysql_query("INSERT INTO articulo (titulo, subtitulo, fk_autor) VALUES ('$titulo_art','$subtitulo_art','$autor_art')",$link);
*Nota: también he probado a poner el $autor_art sin comillas pero da error.
Me toma que el valor que el autor es una cadena de texto vacía o que vale 'null' (como cadena de texto) pero nunca me toma el valor NULL (digamos como no especificado) y por tanto no puedo realizar la inserción.
¿Cómo podría asignar ese valor NULL, que sea entendido como NULL por la BD y no como una cadena de texto que valga 'null'? Espero haberme explicado bien...
Muchas gracias a todos. Saludos