Bonjour,
j'essaye de faire une insertion dans ma bdd mais aucune donnée ne rentre. Aucun message d'erreur.

Voila ma query

    if(empty($errors)){
        $req = $pdo->prepare("INSERT INTO news SET title = ?, slug = ?, description = ?, content = ?, author = '1', image = 'nada'");
        $req->execute([$_POST['title'], $_POST['slug'], $_POST['description'], $_POST['content'], $_POST['author']]);
        exit();
    }

Merci

4 réponses


Huggy
Réponse acceptée

Une piste
4 placeholder pour 5 params !!!
Et utilise les try catch pour intercepter les erreurs

Yubo
Auteur

Je ne trouve pas

if(empty($errors)){
        $req = $pdo->prepare("INSERT INTO news SET title = ?, slug = ?, description = ?, content = ?, author = '1'");
        $req->execute([$_POST['title'], $_POST['slug'], $_POST['description'], $_POST['content'], $_POST['author']]);
        exit();
    }

Comparer le nombre de "?" dans le prepare avec le nombre de variable dans le execute

Yubo
Auteur

Ah si enfin! J'ai trouver grâce au try catch merci

if(empty($errors)){
        try {   
            $req = $pdo->prepare("INSERT INTO news SET title = ?, slug = ?, description = ?, content = ?, author = '1'");
            $req->execute([$_POST['title'], $_POST['slug'], $_POST['description'], $_POST['content']]);
        }catch(PDOException $e){
            echo $e;
        }
    }