Recuperer résultat requête SQL dans terminal
Résolu
sebphilip
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
sebphilip Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
sebphilip Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je vous expose mon problème:
- j'ai creer un fichier php qui s'exécute toutes les minutes avec un cron (jusque là pas de soucis)
- dans ce fichier php, je souhaite interroger une bdd à distance en sql (toujours pas de soucis)
- je souhaite ensuite définir une variable avec les résultats de ma requete afin de l(utiliser pour autre chose (c'est là que ça se gate!!!)
Voici mes étapes faites dans mon fichier php:
1- connection à la bdd + requete:
$requete='mysql -h adresseserveur -u utilisateur -pmdp -B --exec="connect nombdd;SELECT user FROM balise WHERE bienvenue='0'"';
shell_exec($requete);
2- recuperation des résultats:
je fais un echo $requete;
C'est là que ça coince. Il m'affiche ça
sh: user: not found
sh: demo: not found
sh: seb: not found
sh: seb: not found
sh: seb: not found
sh: seb: not found
sh: seb: not found
user
demo
seb
seb
seb
seb
seb
2 questions:
- ca veut dire quoi "sh: user: not found"????
- comment récupérer la premeiere valeur (demo) uniquement et la passer dans une variable? (sachant que user est le nom du champ dans la table)
Merci pour votre aide car je galère depuis 1 semaine.
je vous expose mon problème:
- j'ai creer un fichier php qui s'exécute toutes les minutes avec un cron (jusque là pas de soucis)
- dans ce fichier php, je souhaite interroger une bdd à distance en sql (toujours pas de soucis)
- je souhaite ensuite définir une variable avec les résultats de ma requete afin de l(utiliser pour autre chose (c'est là que ça se gate!!!)
Voici mes étapes faites dans mon fichier php:
1- connection à la bdd + requete:
$requete='mysql -h adresseserveur -u utilisateur -pmdp -B --exec="connect nombdd;SELECT user FROM balise WHERE bienvenue='0'"';
shell_exec($requete);
2- recuperation des résultats:
je fais un echo $requete;
C'est là que ça coince. Il m'affiche ça
sh: user: not found
sh: demo: not found
sh: seb: not found
sh: seb: not found
sh: seb: not found
sh: seb: not found
sh: seb: not found
user
demo
seb
seb
seb
seb
seb
2 questions:
- ca veut dire quoi "sh: user: not found"????
- comment récupérer la premeiere valeur (demo) uniquement et la passer dans une variable? (sachant que user est le nom du champ dans la table)
Merci pour votre aide car je galère depuis 1 semaine.
A voir également:
- Recuperer résultat requête SQL dans terminal
- Commande terminal mac - Guide
- Recuperer message whatsapp supprimé - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Comment récupérer un document dans le presse-papier samsung - Guide
- Récupérer mon compte facebook désactivé - Guide
4 réponses
Tu crées une ligne du genre
<span class='signature'>Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)</span>
05 * * * mysql -h adresseserveur -u utilisateur -pmdp -B < path/to/commmande.sql > /path/to/resultLe fichier commande.sql contenant
SELECT user FROM balise WHERE bienvenue='0'dans ton cron (avec crontab -e)
<span class='signature'>Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)</span>
Pourquoi utiliser PHP pour interroger ta BDD ?
Pourquoi ne places-tu pas tes requêtes MySQL dans un simple shell script aec des redirections?
En plus tu utilises shell_exec, ce qui alourdit encore plus la procédure...
Pourquoi ne places-tu pas tes requêtes MySQL dans un simple shell script aec des redirections?
En plus tu utilises shell_exec, ce qui alourdit encore plus la procédure...
comment tu ferais toi?
Je ne connais bien que php comme langage.
Que me conseilles tu?
Peux tu me donner un exemple?
merci d'avance.
Je ne connais bien que php comme langage.
Que me conseilles tu?
Peux tu me donner un exemple?
merci d'avance.
Du coup, j'ai suivi vos conseils en me documentant et je suis arrivé à ce code:
#!/bin/bash requete=$(mysql -h adresseip -u utilisateur -pMDP -B --exec="connect BDD;SELECT numeroportable,name FROM TABLE WHERE bienvenue='0'") echo $requete numeroportable='echo $requete |cut -d" " -f3' nom='echo $requete |cut -d" " -f4' echo $numeroportable echo $nom if [ "${numeroportable}" == "" ] then echo rien à faire else echo bonjour fi