Speichern von Daten in DB / PDO

newwarrior

Erfahrenes Mitglied
Hallo,

ich habe ein weniziges Problem, und ich hoffe ihr könnt mir vielleicht helfen.
Also ich habe in meiner Klasse news folgende Funktion:
PHP:
    public function __construct($db) {
       $this->db = $db;
    } 
public function insertDB($param)
    {
        $data = false;
        
        //SQL STMT
        try
        {  
            $stmt = $this->db->prepare('INSERT INTO news(subject, message, date, author_id) VALUES(:subject, :message, :date, :author_id)');
            $stmt->bindParam(':subject', $param->NEWS_SUBJECT, PDO::PARAM_STMT); //replave placeholder with var and check for a int with max. 15 chars
            $stmt->bindParam(':message', $param->NEWS_MESSAGE, PDO::PARAM_STMT); //replave placeholder with var and check for a int with max. 15 chars
            $stmt->bindParam(':date', $param->NEWS_DATE, PDO::PARAM_INT, 15); //replave placeholder with var and check for a int with max. 15 chars
            $stmt->bindParam(':author_id', $param->NEWS_AUTHOR_ID, PDO::PARAM_STMT); //replave placeholder with var and check for a int with max. 15 chars
            $stmt->execute();
        
        $data = true;
         }
        catch (PDOException $e)
        {   //when error, write error on page
            echo $e->getMessage();
        }  
        
        return $data; 
    }
Die ganze Funktion wird von mir so aufgerufen:

PHP:
    if($_SESSION['author'] == '1')
    {
        $author = $_SESSION['author_name'];
    }
    elseif($_SESSION['admin'] == '1')
    {
        $author = $_SESSION['admin_name'];    
    }

    $news_var = new ParamNews();
    $news_var->NEWS_MESSAGE = $_POST['message'];
    $news_var->NEWS_SUBJECT = $_POST['subject'];
    $news_var->NEWS_DATE = time();
    $news_var->AUTHOR_ID = $author;

    $news_new = new news($db);
    $news_new->insertDB($news_var);
    
    $smarty->clear_all_cache();
      
    header('Location: index.php?action=news');
    exit();
Also ich habe mit var_dump(); alles überprüft was möglich war.
Es werden alle Variablen korrekt übergeben, und auch der try{} sollte eigentlich keine Probleme machen.
Doch wird nichts in die DB eingetragen.
Die Verbindung zur DB besteht auch richtig.
 
Zurück