我收到一条错误消息,我不知道它是什么

时间:2017-06-17 12:44:22

标签: php mysqli pdo

我得到了这个错误,有人能帮帮我吗? :)

警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在.......第98行定义

PDO:

function createNewNews($autor, $titel, $news) {
    $stmt = self::$_db->prepare('INSERT INTO eintraege (Autor, Headline, Datum, Eintrag) VALUES (:autor, :Headline, :datum, :news)');   
    $stmt->bindParam(":autor", $autor);
    $stmt->bindParam(":datum", $datum);
    $stmt->bindParam(":news", $titel);
    $stmt->bindParam(":titel", $news);

    if($stmt->execute()) {
        return true;    
    } else {
        return false;   
    }

}

PHP:

if(isset($_POST['submit'])) {
    $autor = $_POST['autor'];
    $datum = $_POST['datum'];
    $news = $_POST['titel'];
    $titel = $_POST['news'];

    if($db->createNewNews($autor, $titel, $news)) {
        echo "YES!";    
    } else {
        echo "No!"; 
    }
}

2 个答案:

答案 0 :(得分:2)

你在createNewNews函数中缺少参数$ datum。

答案 1 :(得分:0)

您还需要将$datum作为参数传递

function createNewNews($autor, $datum,$titel, $news) {
    $stmt = self::$_db->prepare('INSERT INTO eintraege (Autor, Headline, Datum, Eintrag) VALUES (:autor, :Headline, :datum, :news)');   
    $stmt->bindParam(":autor", $autor);
    $stmt->bindParam(":datum", $datum);
    $stmt->bindParam(":news", $titel);
    $stmt->bindParam(":titel", $news);

    if($stmt->execute()) {
        return true;    
    } else {
        return false;   
    }

}

PHP:

if(isset($_POST['submit'])) {
    $autor = $_POST['autor'];
    $datum = $_POST['datum'];
    $news = $_POST['titel'];
    $titel = $_POST['news'];

    if($db->createNewNews($autor, $datum,$titel, $news)) {
        echo "YES!";    
    } else {
        echo "No!"; 
    }
}