Koristi mysql_error() da vidiš koja je greška, ali evo ja ću ti pokušati i bez toga da ti pomognem:
Kôd:
$query="INSERT INTO asd (ID, naslov)VALUES ('NULL','".$naslov."')";
Predpostavljam da je ID neki numerik tip polja, integer i sl. tako da on može da prima samo brojeve a ti u njega upistuješ string tj. 'NULL'. NULL pod navodnicima ništa ne znači, to je običan string jer pod navodnicima MySQL ne interesuje da li si ti napisao 'NULL' ili 'PERA'.
Ako želiš da upušeš NULL vrednost u polje, onda upisuješ NULL bez navodnika, dakle ovo što ti je već @Br@nkoR predložio:
Kôd:
$naslov = mysql_real_escape_string($naslov);
$query="INSERT INTO asd (ID, naslov) VALUES (NULL, '$naslov')";
Sve to naravno pod uslovom da polje ID može da bude NULL.
Druga moguća stvar je što nisi uradio eskejp stringa $naslov. Recimo ako je naslov
Nemo' da me zavritlavaš bez eskejpovanja MySQL upit će sadržati
'Nemo' da me zavritlavaš' i zbog ovih rasparenih navodnika upit puca. Navodnici su samo jedan primer, preskakanje ovog koraka dovodi do mnogih zloupotreba i rupa u bazi podatak. Zato sve stringove koji se upisuju u bazu obavezno na escape prvo.