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 :

Vérifier si un enregistrement existe [Fait]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 75
    Par défaut Vérifier si un enregistrement existe
    bon c'est très bête comme question, si vous juger sa trop facile pourriez vous juste me donner un site ou trouver ma réponse.

    donc je voudrai faire un script qui me permet d'interroger ma base de donnée à partir d'une variable, si la variable existe dans la base de donnée alors sa me sort la variable existe et si cela n'existe pas cela me sor la variable n'existe pas.

    J'ai commencé en codant ceci


    $titre = 'test';
    $db = mysql_connect ('localhost:8889' , 'root' , 'root') or die ( ' Erreur de connexion '.mysql_error());
    mysql_select_db('acs', $db) or die('Erreur de sélection'.mysql_error());
    $sql = "SELECT id,title FROM jos_content WHERE title=$titre";
    $req = mysql_query($sql) or die ('Erreur SQL !' .$sql. ' <br> ' .mysql_error());
    while(($data = mysql_fetch_array($req))
    {
    // on affiche les informations de l'enregistrement en cours
    if($data['title']==$titre {
    echo $titre. 'existe dans la bdd';
    }else{
    echo $titre.'n existe pas dans la bdd';
    }

    }
    mysql_close();
    mais bon je connais pas du tout les fonction MYSQL donc au risque de paraitre idiot voila je ne sais pas vraiment quoi faire.

    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2008
    Messages : 84
    Par défaut
    Salut,
    essaye avec :
    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
     
    $titre = 'test';
    $db = mysql_connect ('localhost:8889' , 'root' , 'root') or die ( ' Erreur de connexion '.mysql_error());
    mysql_select_db('acs', $db) or die('Erreur de sélection'.mysql_error());
    $sql = "SELECT id,title FROM jos_content WHERE title=$titre";
    $req = mysql_query($sql) or die ('Erreur SQL !' .$sql. ' <br> ' .mysql_error());
    while($data = mysql_fetch_array($req))
    {
    if($data['title']==$titre) 
    {
    echo $titre. 'existe dans la bdd';
    }
    else
    {
    echo $titre.'n existe pas dans la bdd';
    }
    }
    mysql_close();

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 75
    Par défaut
    lol, j'avais mis une parenthèse en trop désolé j'aurais du l'apercevoir et dire l'erreur que sa me fait avec cette parenthèse en moins.

    Voila donc ce que j'obtiens

    Erreur SQL !SELECT id,title FROM jos_content WHERE title=test
    Unknown column 'test' in 'where clause'

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 75
    Par défaut
    En gros il me dit qu'il n'existe mais je souhaiterai qu'il m'affiche

    $titre n'existe pas

    Comment se fait il qu'il n'interprète pas mas condition

  5. #5
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Bonsoir,

    Mysql aime les guillemets pour du texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT id,title FROM jos_content WHERE title=\"$titre\"";
    personnellement, je préfère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT id,title FROM jos_content WHERE title="'.$titre.'"';
    Il y a sur ce forum un très intéressant tutoriel concernant l'utilisation des guillemets simples ou doubles ici

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 75
    Par défaut
    Merci de ta réponse en fait j'ai trouvé la réponse tout seul et je revenais justement sur le forum afin de pouvoir la donnée.

    donc voici mon code

    $titre='TEST';
    $db = mysql_connect ('localhost:8889' , 'root' , 'root') or die ( ' Erreur de connexion '.mysql_error());
    mysql_select_db('acs', $db) or die('Erreur de sélection'.mysql_error());
    $sql = "SELECT id,title FROM jos_content WHERE title='$titre'";
    $req = mysql_query($sql) or die ('Erreur SQL !' .$sql. ' <br> ' .mysql_error());

    //echo $sql;
    if(($data = mysql_fetch_array($req))=='')
    {
    echo 'existe pas';

    }else{
    echo 'existe ';
    }

    mysql_close();

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Par défaut
    sinon tu aurais pu utiliser mysql_num_rows de la façon suivante

    tu fait ta sélection
    puis tu test si tu as des resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = mysql_query("SELECT id,title FROM jos_content WHERE title='$titre'");
     
    if(mysql_num_rows($sql) >=1)
    {
    echo 'le resultat existe';
    }
    else
    {
    echo 'Il n\'y a pas de resultat';
    }
    mysql_num_rows te renvoi le nombre de ligne sélectionner

Discussions similaires

  1. [AC-2010] vérifier si enregistrement existe dans la table
    Par vittirivizzik dans le forum VBA Access
    Réponses: 4
    Dernier message: 11/01/2014, 12h18
  2. [AC-2007] Vérifier si un enregistrement existe
    Par Mat08 dans le forum IHM
    Réponses: 0
    Dernier message: 06/07/2010, 10h16
  3. Vérifier si un enregistrement existe dans une table
    Par developpeur_débutant dans le forum PL/SQL
    Réponses: 4
    Dernier message: 08/06/2010, 12h05
  4. [PDO] Vérifier que l'enregistrement existe avant de l'exploiter
    Par php_de_travers dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/12/2009, 10h28
  5. [SQL] Vérifier si un enregistrement existe
    Par Mamath76 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/08/2007, 14h22

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