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

Langage SQL Discussion :

[MySQL] SQL + champs existant


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2005
    Messages : 63
    Par défaut [MySQL] SQL + champs existant
    Bonjour a tous

    je suis en train de programmer un site dynamique en php et j'ai une question sql qui m'embete.

    En fait j'essaie de faire une requete SQL qui verfie dans la base de données si un champs est deja existant ou non.

    j'ai fait ca
    $res=mysql_query("select * from visiteur where Mail='$mail'");
    if ($res==1)
    return 1;
    else
    return 0;
    Avec ca je pensais que si la requete trouve quelque chose alors $res=1 et sil elle trouve rien alors $res=0

    Le probleme est que $res retourne toujours quelque chose donc...

    Quelqu'un peut-il m'aider.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    En matière de SGBDR un "champ" cela n'existe pas.

    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L2

    Maintenant pour obtenir la liste des colonnes, vous disposez dans le norme SQL des vues d'information de schéma, notamments de la vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM INFORMATION_SCHEMA.COLUMNS
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    mysql_query renvoit FALSE si un erreur est detectée. Ta requete n'a pas d'erreur, elle peut simplement te retourner 0 valeur.
    Dans les autres cas, mysql_query renvoie une ressource (que tu pourras exploiter apres avec d'autres fonctions).

    Essaies d'utiliser mysql_num_rows() , qui indique le nombre d'enregistrements retournés par la requete.

    Petite remarque, il ne faut pas confondre champ et enregistrement

    J'espere que cela va t'aider

    Bon courage

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2005
    Messages : 63
    Par défaut
    Merci à tous les deux et excusez moi pour avoir utiliser les mauvais terme.

    J'ai essayer d'utiliser myquery_num_rows j'ai une erreur qui est :

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in...
    Ma requete est :
    $res=mysql_num_rows("select * from visiteur where Mail='$mail'");
    echo "bbbb : ".$res;
    Merci encore de votre aide

  5. #5
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    c'es toutsimplement mal utilisé

    un petit exemple ici : http://fr2.php.net/manual/fr/function.mysql-num-rows.php

    bon courage

    Michel

  6. #6
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Citation Envoyé par SQLpro
    En matière de SGBDR un "champ" cela n'existe pas.

    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L2

    Maintenant pour obtenir la liste des colonnes, vous disposez dans le norme SQL des vues d'information de schéma, notamments de la vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM INFORMATION_SCHEMA.COLUMNS
    A +
    J'ai lu ton article et je suis sceptique sur les termes que tu emplois.
    En effet la notion d'enregistrement n'est pas forcement et uniquement dediée a la lecture sequentielle de lignes. Une ligne est tellement virtuelle qu'elle ne met pas en avant la notion de stockage. D'ailleurs on dit bien une ligne d'enregistrement pour le cas des fichiers.
    Pour moi la notion de ligne d'enregistrement, d'enregistrement ou de tuple est identique.
    En ce qui concerne le champs, il faut l'utiliser dans le but de description et non de visualisation. En effet quand tu parles de colonne, tu sous entends la visualisation de resultats de requetes, mais dans la description tu peux employer le mot "champ".
    Ceci dit, ce n'est qu'un point de vue de vocabulaire l'important c'est de se comprendre, c'est ca la communication !

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/10/2008, 10h25
  2. Sql en Mysql, lire champs par champs
    Par igaurillac dans le forum C#
    Réponses: 5
    Dernier message: 09/06/2007, 19h46
  3. [mysql] pb de existance de table
    Par titiyo dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/07/2004, 11h24
  4. [SQL - ASP] existance d'une table
    Par Larson dans le forum ASP
    Réponses: 4
    Dernier message: 02/06/2004, 10h41
  5. spécifier NOT NULL - champ existant
    Par internet_killer dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 06/05/2004, 10h24

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