deennoo a écrit :...echo=$result me donne des ligne et des lignes et des lignes commencant par mysql et finissant par false.
Désolé de mon absence ... forum HS quand j'ai voulu me connecter.
A priori, si tu as ce résultat, c'est que ton appel mysql ou ta requête est pas bonne, du coup mysql te répond un "help" ou equivalent, la raison des tonnes de lignes. A partir d'une autre machine, il faut quelques petits choses:
Un --hostname=<ip du serveur ou tourne la db> --port=3306 (a priori le port par défaut) après, je me demande si il ne faut pas définir des droits d'accès (mysql) pour autoriser les machines du réseau a se connecter, tout dépend des droits de ton user.
Pour le vérifier par étapes, le plus simple est d'ouvrir un ssh sur la machine et essayer de lancer une session mysql déjà (sans la requête -e ...):
mysql --hostname=<...> --port=3306 --user=... -p... <dbname>
Si tu récupères un prompt mysql ">", c'est gagné, après adapte le script en fonction.
Pour les droits, c'est du mysql, il faut gratter dans la doc mais un "GRANT ALL ON <dbname>.* TO '...user...'@'%';" devrait le faire en se loggant root a la base.
Enfin -g / -G heu ... je suis très étonné. -G c'est aussi --get qui force un simple get http et du coup le --data est traité en paramètre de la requête (et bien encodé ce qui était mon objectif). -g connait pas ... (=>
http://linux.die.net/man/1/curl ???) Pour savoir ce que fait curl, on peut utiliser des options comme -v (voir -i).
Mais cet appel avec -G et --data... n'était nécessaire que si tu as des soucis en raison du . décimal du résultat (un pourcentage), si ça se trouve ça marche sans et donc un appel "simple" en collant tout dans la requete http peut marcher => curl "http://...:8080/json.htm?type=command¶m=udevice&idx=$IDX&nvalue=0&svalue=$result"