INSERT INTO不执行

我正在使用一个代码块,该代码块已经在不同的插入数据处理中使用,但是我不知道为什么,它不起作用。它发送给我contact.php?in = error。我的代码有什么问题?

<?php 

if(@$_POST['submit']){

    $gizlicap = $_POST['hcaptcha'];
    $code = $_POST['captcha'];

    if($code == $gizlicap){
        $name = htmlspecialchars($_POST['ad'], ENT_QUOTES, 'utf-8');
        $email = htmlspecialchars($_POST['eposta'], ENT_QUOTES, 'utf-8');
        $yazi = htmlspecialchars($_POST['text'], ENT_QUOTES, 'utf-8');

        $snd = $db->prepare("INSERT INTO `contactform` (`message_id`, `message_ad`, `message_email`, `message`) VALUES (NULL, :ad, :email, :yazi) ");
        $snd->bindValue(":ad", $name, PDO::PARAM_STR);
        $snd->bindValue(":email", $email, PDO::PARAM_STR);
        $snd->bindValue(":yazi", $yazi, PDO::PARAM_STR);

        if($snd->execute()) {
            @header("Location: contact.php?in=success");
        } else {
            @header("Location: contact.php?in=error");
        }
    } else {
        echo 'Check security code!!';
    }
}
?>
评论