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 :

Signification de cette requête bizarre [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Signification de cette requête bizarre
    Bonsoir,

    je suis en train de reprendre un code de quelqu'un d'autre et je me demande la signification d'une telle requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO infoappli () VALUES (:ch)
    Il s'agit d'une requête préparée d'où le :ch. Ce que je ne comprends pas ce sont les 2 parenthèses derrière le nom de la table infoappli ; peut-on m'expliquer ?

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 600
    Billets dans le blog
    10
    Par défaut
    Quelle est la base de données ?

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    MySQL et en fait, je l'interroge via du PHP/PDO.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 600
    Billets dans le blog
    10
    Par défaut
    Cette requête fonctionne-t-elle ? Si oui, c'est probablement une spécificité de MySQL.

    Quoi qu'il en soit, il n'est pas recommandé de faire un insert sans mentionner explicitement les colonnes : si le DDL évolue, il est peu probable (je préfère être prudent car je ne connais pas MySQL) que la requête continue de fonctionner.

    À remplacer avantageusement par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into TableName (col1, col2, col3....) values (:val1, :val2, :val3...)

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Je comprends pourquoi ils ont essayé de simplifier : il y a 19 colonnes !
    Cela dit, j'ai fait un essai en modifiant seulement 2 colonnes et il n'y a plus d'erreur !
    Pour info, la requête actuelle est (avec le code PHP) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $query_infoappli = "INSERT  INTO infoappli (name, ansys) VALUES (:name,:ansys)";
    $qid=$bdd->prepare($query_infoappli);
    $qid->bindParam(':name',$insname);
    $qid->bindParam(':ansys',$insappli[0]);
    $qid->execute();
    Par contre, j'ai une autre erreur (sur la ligne 6 alors qu'avant c'était sur la ligne 3) :
    Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'OLDr-98-fr' for key 'PRIMARY'' in D:\wamp\www\devjupiter\pdo\page\modifier.htm on line 190
    (la ligne 190 correspond ici à la ligne 6)
    Le message me dit que je duplique une clé primaire, mais un insert ne fait que créer un nouvel enregistrement donc où est la duplication ?

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Vu la rareté des réponses, un modo pourrait-il déplacer cette discussion dans http://www.developpez.net/forums/f825/php/php-sgbd/pdo/ ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cette requête est-elle valide?
    Par FrankOVD dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/01/2006, 19h21
  2. Pourquoi cette requête est lente ?
    Par zenzo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/01/2006, 15h15
  3. Que fait cette requête?
    Par noinneh dans le forum Langage SQL
    Réponses: 8
    Dernier message: 12/10/2005, 19h38
  4. expliqué cette requête
    Par ismailsalam dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 29/09/2005, 14h10
  5. Requête bizarre ... Order by sur 2 champs
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/06/2004, 14h38

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