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 :

Essai de requête SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut Essai de requête SQL
    Bonjour à tous
    J'essaye en vain d'extraire 3 champs dans une base de données que j'ai créée sur free.fr sans succès.
    Cette base est destinée à être alimentée par des éventuels amateurs de chant pour du Karaoké.
    Pour l'instant la base de donnée ne contient que 3 valeurs dans 3 champs. (Champ 1: 'Prénom' -> Claudio ; Champ2: 'Chanteur' -> Beatles ; Champ3 : 'Titre' -> Let it be)
    J'essaye donc de lire ces 3 champs avec le script suivant :

    Code html : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <!DOCTYPE html>
    <html>
        <head>
            <title>Titres Karaoké</title>
            <meta charset="utf-8">
         </head>
        <body>
            <h1>Bases de données MySQL</h1>  
     
    <?php
     
    // Déclaration des paramètres de connexion
    $host = ' monLogin.sql.free.fr'; 
    $user ='MonLoginFree';
    $passwd  = 'MonPass!';
     
    // Connexion au serveur
    $db =mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
     
    // Sélection de la base
    mysql_select_db('MaBase',$db);
     
    // Création requête SQL
    $sql = "SELECT * FROM `MaTable` WHERE 1"
     
    // Envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    // Boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_assoc($req))
        {
        // affichage des informations de l'enregistrement en cours
        echo '<b>'.$data['Prénom'].' '.$data['Chanteur'].'</b> ('.$data['Titre'].')';
        }
     
    // Deconnexion de la base de donnees
    mysql_close();
     
    ?>
        </body>
    </html>

    J'obtiens le message suivant :

    Bases de données MySQL
    '.$sql.'
    '.mysql_error()); // Boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_assoc($req)) { // affichage des informations de l'enregistrement en cours echo ''.$data['Prénom'].' '.$data['Chanteur'].' ('.$data['Titre'].')'; //echo ' date de naissance : '.$data['date'].'
    '; } // Deconnexion de la base de donnees mysql_close(); ?>
    Soyez indulgents, je n'ai jamais programmé en php mais j'essaye de comprendre.

    Merci de me venir en aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 423
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM `MaTable` WHERE 1";
    Manque le ; à la fin de la ligne

    Evite les espaces dans tes chaines de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $host = ' monLogin.sql.free.fr';
    C'est vieux ...

    Première fois que je vois un "or"



    cdt

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 719
    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 719
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Tout d'abord, la question telle que posée soulève à la fois :

    1. des questions relatives à la modélisation de la base de données ;
    2. des questions relatives au langage SQL ;
    3. des questions relatives à la mise en œuvre de SQL dans un programme écrit en PHP.


    Pour le premier point, une base de données qui concerne les amateurs de karaoké devrait à minima comporter une table des titres, une table des paroles avec éventuellement des paroles dans plusieurs langues, une table des groupes, une table des interprètes... Mais avant de parler de tables, il faut exprimer clairement le besoin sous forme de règles de gestion, puis établir un MCD dont on dérivera automatiquement les tables.

    Voici comment procéder pour rédiger les règles de gestion :

    Citation Envoyé par escartefigue Voir le message
    Idéalement, chaque règle porte un identifiant distinct et comporte un sujet, un verbe et un complément
    Exemple :
    R001 : un client est une personne qui passe au moins une commande
    R002 : une commande est passée par un et un seul client
    R003 : une commande se compose d'une à plusieurs lignes de commande
    R004 : une ligne de commande compose une et une seule commande
    etc.
    il existe un forum consacré à la modélisation, il se trouve ICI


    Concernant le langage SQL proprement dit, il ne faut pas confondre les "champs" qui sont les zones de saisie d'un formulaire et les "colonnes" qui sont les attributs dans une table.
    Aussi, il ne faut pas, à quelques très rares exception près, utiliser SELECT *, les raisons en sont expliquées ICI
    De plus, une condition telle que WHERE 1 est incomplète, si MySQL est relativement conciliant et autorise ce genre de syntaxe, la plupart des SGBD émettront un message d'erreur.
    La syntaxe correcte est WHERE 1=1 si vous voulez une expression toujours vraie ou WHERE ma_colonne=ma_variable par exemple.
    Également, inutile d'encadrer les noms d'objets (noms des tables, des colonnes) avec des quotes inversées, tant que ces noms ne sont ni des mots réservés SQL, ni contenant des caractères spéciaux.
    Pour apprendre le langage SQL, il existe des tutos dans ce présent forum, ils se trouvent ICI


    Concernant l'imbrication du SQL dans un programme PHP, le forum consacré se trouve ICI

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut
    Merci pour vos réponses.
    J'explique un peu ma démarche :
    Je suis amené à animer un repas d'anniversaire. Au cours du repas, je diffuserai de la musique d'ambiance puis quelques morceaux pour danser.
    A un moment, l'organisateur me demandera d'animer un Karaoké. J'ai développé une application en VBA qui gère quelques milliers de titres. La diffusion des chansons choisies sera accompagnée des paroles qui défileront sur l'écran. Grace à mon application, je pourrai diminuer comme je veux le niveaux des paroles originales. Pour que les invités s'inscrivent dans la liste de passage, j'ai créé un QRCode qui va pointer sur une de mes pages perso de mon site hébergé chez free et qui donnera la liste des titres disponibles. En fin de liste les prétendants à pousser la chansonnette seront invités à remplir un formulaire avec leurs prénoms, chanteur choisi et titre choisi. Ces 3 infos iront alimenter ma base de données (J'avais réussi à le faire en localhost).
    Pour que je puisse appeler les candidats dans l'ordre d'inscription, je dois être capable d'interroger la base de données. Et je n'y arrive pas ! J'ai essayé des dizaines de codes trouvés sur internet sans succès.

    J'ai parcouru et essayé beaucoup de tutos qu'ils soient sur ce forum ou dénichés avec google, mais je dois être un peu nigaud car je n'arrive à rien.
    Est-ce que je dois poster ce sujet sur le bon forum (sql et php)?

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 423
    Par défaut
    La requête sql fonctionne ? Non => go forum sql

    Le code php pète => Go forum php

    T'es pas sur de la structure de ta bdd => modélisation

    Bref

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut
    Trouvé !
    il fallait ajouter "php56 1" dans le .htacces sur free.
    merci à tous

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2019, 18h06
  2. Réponses: 7
    Dernier message: 24/12/2018, 23h35
  3. [MySQL] Comprend pas! requete qui ne modifie plus la base au bout d'un certain nombre d'essai
    Par maxfive7 dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 01/08/2007, 15h05
  4. Réponses: 6
    Dernier message: 25/03/2002, 22h11

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