-3

I got this Error, could somebody help me? :)

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in ....... on line 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!"; 
    }
}
L. Herbst
  • 1
  • 1

2 Answers2

2

you have missing parameter $datum in createNewNews function.

Vibha Chosla
  • 733
  • 5
  • 12
0

You need to pass $datum also as argument

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!"; 
    }
}
B. Desai
  • 16,414
  • 5
  • 26
  • 47