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

Shell et commandes GNU Discussion :

Utiliser les valeurs d’une base de données


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 46
    Par défaut Utiliser les valeurs d’une base de données
    Bonjour

    J'ai encore une question

    Est-il possible d’utiliser les valeurs d’une base de données pour remplacer l’IP, le nom d’utilisateur et le mot de passe de l'url ?

    J’ai essayé de modifier le script comme ci–dessous, j’arrive à me connecter et voir la table HD1 de la base de données cam mais je n’arrive pas à placer les valeurs dans l’url.


    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
    19
    20
    21
    22
    23
    24
    #!/bin/sh 
    ### BEGIN INIT INFO 
    # Provides: foscam
    # Required-Start: $remote_fs $syslog 
    # Required-Stop: $remote_fs $syslog 
    # Default-Start: 2 3 4 5 
    # Default-Stop: 0 1 6 
    # Short-Description: Start daemon at boot time 
    # Description: Enable service provided by daemon. 
    ### END INIT INFO
     
    requete="SELECT IP,utilisateur,motdepass FROM HD1"
    mysql -u"root" -p"MOTDEPASSE" cam -e"$requete" 
     
     
    case "$1" in 
     
    stop) 
    	# stop motion foscam 
    	echo "Motion stop" 
    echo ".['IP']."
     
    	curl "http://.['IP']./cgi-bin/CGIProxy.fcgi?usr=.['utilisateur'].&pwd=.['motdepass'].&cmd=setMotionDetectConfig&isEnable=0"
    	;;

    Avec echo ".['IP']." j'obtiens .['IP'].

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    a priori, tu dois utiliser une Substitution de commandes, dans une variable, ou un tableau.

    quelle est la sortie de commande mysql (pour décider : variable ou tableau) ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 46
    Par défaut
    Avec mon bout de code voilà ce que me retourne MySQL Nom : mysql.jpg
Affichages : 120
Taille : 12,5 Ko.

    J'espère avoir répondu à votre question

    Merci

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    il y a une/des option(s) pour ne pas afficher l'en-tête et la "trame" autour des données.

    vu que t'es en sh, pas de tableau !
    quand tu te seras affranchi du format de la sortie de mysql, tu pourras lire les données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    read ip usr paswd <<eof
    $(mysql ...)
    eof
    et utiliser $ip, $usr, $paswd.

    mais... t'es sûr de vouloir utiliser tout un Système de Gestion de Base de Données Relationnelle pour stocker trois petites informations ? ça me paraît disproportionné.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 46
    Par défaut
    Si je comprends bien, il faut que j’isole 192.168.1.11:88, admin et admin et à partir de là je pourrais utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    read ip usr paswd <<eof
    $(mysql ...)
    eof
    Je dois ajouter ce code à la suite de ce que j’ai déjà fait ??

    J’utilise une base de données car j’ai fait un petit site intranet avec formulaire qui permet d’ajouter plusieurs cameras cela me permet d’avoir à éviter de bidouillé dans le système car j’utilise aussi plusieurs pages html qui me sert à visualiser et contrôler les cams

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut

    il faut affecter les variables avant de s'en servir.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/04/2007, 12h01
  2. Réponses: 5
    Dernier message: 05/10/2006, 10h18
  3. Réponses: 2
    Dernier message: 08/06/2006, 17h42
  4. Réponses: 1
    Dernier message: 23/10/2005, 00h55
  5. Réponses: 8
    Dernier message: 23/03/2005, 19h28

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