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 :

if not exists marche pas?! [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut if not exists marche pas?!
    bonjour tout le monde.
    j'essaie de faire un petit test sur une table avant d'inserer une nouvelle ligne avec php, malheureusement ce test ne marche pas et je comprends pas pourquoi. voilà ma requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query="if not exists(select*from etudiant where nom='".$_POST['val1']."' and prenom='".$_POST['val2']."' insert into etudiants(nom,prenom) values('".$_POST['val1']."','".$_POST['val2']."')";
    aidez moi s'il vous plait.

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    A priori ça ne semble pas être possible de cette façon.

    Le plus courant étant de faire 2 requêtes.
    Un pour vérifier, l'autre pour insérer juste après.


    Mais sinon j'ai trouvé cette solution (j'ai pas testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $query="INSERT INTO etudiant (nom,prenom)
    SELECT I.ID, I.Name
    FROM
    (
    SELECT '".$_POST['val1']."', '".$_POST['val2']."'
    ) I
    LEFT OUTER JOIN
    etudiant T
    ON I.ID = T.ID
    WHERE T.ID IS NULL";

  3. #3
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Quelques solutions à creuser en fonction de ton sgbd :

    lien

    @+

    EDIT :

    In Microsoft SQL Server, I can use an IF statement:

    if not exists (select * from url where url = ...)
    insert into url...
    es tu sur sql server ?

  4. #4
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    je vous remercie les amis.
    j'utilise mysql, je comprends pas pourquoi le synthax que j'ai essayé qui est correct en sql ne marche pas alors que celui utiliser en mysql est un synthax sql normalement.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/07/2010, 10h50
  2. Tracker un "File does not exist" pas très claire.
    Par Moustico dans le forum Apache
    Réponses: 2
    Dernier message: 10/06/2010, 14h11
  3. Mon NOT IN ne marche pas
    Par Team2009 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 21/12/2009, 11h50
  4. Ma redirection ne marche pas si la page existe !
    Par pdtor dans le forum Apache
    Réponses: 1
    Dernier message: 07/08/2007, 21h05
  5. IS NOT NULL ne marche pas !!!! ??????
    Par SkyDev dans le forum Requêtes
    Réponses: 5
    Dernier message: 19/04/2004, 17h08

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