PDOExeption

Par Durplin Chapel Ken, il y a 7 ans


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

Durplin Chapel Ken, il y a 7 ans

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

Pierrot01, il y a 7 ans

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

Huggy, il y a 7 ans

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