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 :

(php) pb syntaxe requète DELETE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Par défaut (php) pb syntaxe requète DELETE
    Bonsoir,

    lorsque j'essaie de faire ces requêtes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //récupère l'identifiant de l'artiste
    $identifiant = 'SELECT id_artiste FROM artiste WHERE nom_artiste="'.$choix.'"';
    //supprime les données inscrites dans la table
    $supprimer = 'DELETE FROM information WHERE id_type="1" AND id_artiste="'.$identifiant.'"';
    //lance le req
    mysql_query ($identifiant) or die ('Erreur SQL !'.$identifiant.'<br />'.mysql_error()); 
    mysql_query ($supprimer) or die ('Erreur SQL !'.$supprimer.'<br />'.mysql_error());
    J'ai ce message d'erreur:
    Erreur SQL !DELETE FROM information WHERE id_type="1" AND id_artiste="SELECT id_artiste FROM artiste WHERE nom_artiste="blabla""
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nom de l'artiste choisi""' at line 1
    Savez vous quelle est la bonne syntaxe?
    Merci, Gwendo.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Il faut mettre des parenthèses autour de votre sous-requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $supprimer = 'DELETE FROM information WHERE id_type = 1 AND id_artiste IN ("'.$identifiant.'"');
    N'étant pas sûr des concaténations php, votre requête à la fin doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE FROM information
    WHERE id_type = 1
    AND id_artiste in (SELECT id_artiste FROM artiste
                       WHERE nom_artiste = 'blabla');

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Par défaut
    Merci, mais avec les parenthèses ça ne marche pas.
    Par contre,quand je fais ça, je n'ai plus de message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $sql_identifiant = "SELECT id_artiste FROM artiste WHERE nom_artiste='$choix'";
    $identifiant = mysql_query ($sql_identifiant) or die ('Erreur SQL ! '.$sql_identifiant.'<br />'.mysql_error());
     
    $supprimer = "DELETE FROM information WHERE id_type=1 AND id_artiste='$identifiant'";
    mysql_query ($supprimer) or die ('Erreur SQL !'.$supprimer.'<br />'.mysql_error());
     
    $inserer = 'INSERT INTO information VALUES("","'.$bio.'","'.$identifiant.'","1")';
    mysql_query ($inserer) or die ('Erreur SQL !'.$inserer.'<br />'.mysql_error());
    Ça me crée bien la nouvelle bio, mais ça ne supprime pas l'ancienne.

Discussions similaires

  1. [MySQL] Syntaxe requête LOAD DATA INFILE avec php
    Par yann123456 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/08/2010, 23h40
  2. Erreur syntaxe SQL DELETE avec sous requête
    Par jeanbenoit1987 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 07/12/2007, 12h14
  3. [MySQL] Erreurs de syntaxe sur requêtes DELETE
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2006, 15h53
  4. Syntaxe requête SQL
    Par Mvu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/07/2004, 14h27
  5. [requête] DELETE + SELECT
    Par doohan dans le forum Requêtes
    Réponses: 6
    Dernier message: 07/07/2003, 12h27

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