Bonjour,
j'essaie de stocker des éléments dans la bd au text je recoit l'érreur suivante: PDOException: in C:\wamp\www\AG project\panier\produit.php on line 26
voici le code

<?php
session_start();
require 'compte/inc/functions.php';
logged_only();
include 'header.php';
?>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<?php
    if (!empty($_POST) && !empty($_FILES)) {
        $img = $_FILES['image_produit'];
        $n = $img['name'];
        move_uploaded_file($img['tmp_name'], "images/".$img['name']);

        $pdo = new PDO('mysql:dbname=agrik_partners;host=localhost', 'root', '');
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);

        $req = $pdo->prepare("INSERT INTO produit SET nom_produit=?, variété=?, prix=?, unité=?, quantité_disponible=?, localité=?, image_produit=?, user_id_user=?, date_publication=? "); 
            $req->execute([ $_POST['nom_produit'], $_POST['variété'], $_POST['prix'], $_POST['unité'], $_POST['quantité_disponible'], $_POST['localité'], "images/<?= $n; >", session_id(), date('Y-m-d H:i:s') ]);
            $_SESSION['flash']['success'] = 'votre produit est maintenant le AGRIK-SHOP';
            header('location: index.php');
            exit();
    } 
?>
<center><h4>Vendez vos produits sur AGRIK-SHOP!</h4></center>
<br>
<br>
<div class="row">
              <div class="col-sm-3"></div>
              <div class="col-sm-6">

                <form action="" method="post" enctype="multipart/form-data">

                    <div class="form-group">
                        <label for="">Nom du produit *</label>
                        <input type="text" name="nom_produit" class="form-control" required="required">
                    </div>

                    <div class="form-group">
                        <label for="">Variété *</label>
                        <input type="text" name="variété" class="form-control" required="required">
                    </div>

                    <div class="form-group">
                        <label for="">Prix *</label>
                        <input type="number" name="prix" class="form-control" required="required">
                    </div>

                    <div class="form-group">
                        <label for="">Unité *</label>
                        <input type="text" name="unité" class="form-control" required="required">
                    </div>

                    <div class="form-group">
                        <label for="">Quantité disponible *</label>
                        <input type="number" name="quantité_disponible" class="form-control" required="required">
                    </div>
                    <div class="form-group">
                        <label for="">où se trouve le produit? *</label>
                        <input type="text" name="localité" class="form-control" required="required">
                    </div>

                    <div class="form-group">
                        <label for="">Ajouter une image du produit </label>
                        <input type="file" name="image_produit" accept="image/*" class="form-control" required="required">
                    </div>
                    <br>
                    <center><button type="submit" class="btn btn-success">Publier</button></center>
                </form>
            </div>
              <div class="col-sm-3"></div>
</div>
<?php 
include 'footer.php';
 ?>

merci d'avance pour vos reponses

3 réponses


salut,
Utilises try catch et tu auras ton erreur ;)
@plus
Pierre

merci @Pierrot01
voici l'erreur retourner; j'ai beau regardé je ne vois rien:
SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de 'variété='sd', prix='23', unité='Sac', quantité_disponible='12', localité' � la ligne 1

Il faut éviter les accents dans les noms de champs
ou bien entourer les noms par des quotes (alt gr 7)
mais c'est chercher les ennuis