Exec ile bu işlemi yapmak yerine prepare kullanabilirsiniz.

$yazi_baslik = $_POST["yazi_baslik"];
$yazi_kategori = $_POST["yazi_kategori"];
$yazi_etiket = $_POST["yazi_etiket"];
$yazi_detay = $_POST["yazi_detay"];
$yazi_tarih = date("d.m.Y H:i:s");

$query = $db->prepare("INSERT INTO hk_yazilar SET
yazi_baslik = :baslik,
yazi_kategori = :kategori,
yazi_etiket = :etiket,
yazi_detay = :detay,
yazi_tarih = :tarih");

$insert = $query->execute(array(
"baslik" => $yazi_baslik,
"kategori" => $yazi_kategori,
"etiket" => $yazi_etiket,
"detay" => $yazi_detay,
"tarih" => $yazi_tarih
));

if ( $insert ){
echo 'tamam';
}else{
    echo 'hata';
}