IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

exec () : PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut exec () : PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064
    Salut à tous,

    Je vous explique mon problème :

    J'ai mis en place grâce à Tinymce un sytème d'upload d'images vers le serveur ainsi qu'une génération automatique de code html pour afficher ces dernières directement sur le site une fois posté (Stockage des codes <img> dans la bdd).

    Jusque là pas de problème.

    Je souhaiterai maintenant créer un bouton qui permette de supprimé une image choisie parmi toutes celle postées mais je me tape une erreur
    PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064.
    Voilà mes bouts de code :

    ENVOI DES INFOS SUR LA BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    // Connexion à la base de données
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=batinnov;charset=utf8', 'root', '');
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    // Insertion du message à l'aide d'une requête préparée
    $req = $bdd->prepare('INSERT INTO content (gallery) VALUES(?)');
    $req->execute(array($_POST['elm-gallery']));
     
    header('Location: admin.php');?>
    CODE AFFICHAGE DES IMAGES
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
        <?php
     
        // Connexion à la base de données
        try
        {
          $bdd = new PDO('mysql:host=localhost;dbname=batinnov;charset=utf8', 'root', '');
          $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        catch(Exception $e)
        {
                die('Erreur : '.$e->getMessage());
        }
     
     
     
        // Récupération de la dernière news
        $response = $bdd->query('SELECT `id`, `gallery` FROM `content` ORDER BY ID DESC LIMIT 0, 500');
     
     
     
        // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
        while ($donnees = $response->fetch())
        {
     
          echo '<div class="col-xs-3 cropImg">' . htmlspecialchars_decode($donnees['gallery']) . '<div class="ident-img">' . $donnees['id']. '</div><form class="" action="delete.php" method="post"><input type="submit" name="name" value="Supprimer"></form></div>';
          }
     
        $response->closeCursor();
        ?>
    CODE SUPPRESSION LIGNE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    include ("admin.php");
     
    $supp = $donnees['gallery'];
     
    $count = $bdd->exec("DELETE FROM content WHERE ID=".$supp);
     
    /* Retourne le nombre de lignes effacées */
    print("Retourne le nombre de lignes effacées :\n");
    print("Effacement de $count lignes.\n");
    ?>
    Merci pour l'aide que vous pourrez m'apporter !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ou vient $donnees dans ton code de suppression ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Salut,
    Il vient de nul part enfait, c'était mon dernier test pour tenter d'arriver à mes fins, comme en utilisant $donnees['id'] dans ma page admin, les différentes id s'affichaient bien, j'ai voulu tester ça dans mon code de supp sans grande conviction..

    J'avoue ne plus savoir quoi essayer

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux recuperer l'id, depuis ton bouton Supprimer, il faudrait que cet id soit dans le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    form class="" action="delete.php" method="post">
        <input type="hidden" name="id" value="' . $donnees['id'] .'">
        <input type="submit" name="name" value="Supprimer">
    </form>
    A l'arrivée tu reçois $_POST['id']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Super merci beaucoup , ça fonctionne enfin !

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/05/2014, 16h32
  2. [PDO] Erreur louche : 'SQLSTATE[42000]: Syntax error or access violation: 1064'
    Par oliopur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2012, 17h10
  3. [MySQL] Erreur SQL : SQLSTATE[42000]: Syntax error or access violation: 1064
    Par petit.quent dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2011, 16h13
  4. [MySQL] [MySQL] SQLSTATE[42000]: Syntax error or access violation: 1064
    Par Domotik35 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/07/2011, 16h42
  5. [PDO] Erreur incompréhensible : 'SQLSTATE[42000]: Syntax error or access violation: 1064'
    Par cyril_k dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/12/2008, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo