Bash communication MySQL

mardi 14 juillet 2015

Bonjour à tous,


J'ai trouvé un code sur internet pour extraire des données de ma base MySql. (Je n'ai pas tenté de INSERT, mais je verrais ça plus tard)


Voici le code :


hote_db="localhost"
nom_bd="citations"
login_db="user"
pass_bd="monpass"

select_noms_colonnes="citation,auteur"
nom_table="citations"

ma_requete(){
        typeset col=$1
        mysql -h"$hote_db" -D"$nom_bd" -u"$login_db" -p"$pass_bd" -B -N -e "SELECT $col FROM $nom_table ORDER BY Rand() limit 1"
}


resultat=$(ma_requete $select_noms_colonnes)
echo $resultat


 

Bon, très bien, ça marche.... big_smile


Le problème est que ma variable résultat contient le résultat des deux champs (citation et auteur). Ce que je cherche à faire, c'est d'avoir deux variables distincte, une qui me donne le résultat du champ "Citation" et l'autre qui me donne le champ "Auteur".


J'ai lu qu'il fallait couper le résultat avec la fonction cut, mais ou est le délimiteur ?? pour exemple, le code ci-dessus me donne le résultat suivant ;

Des plus profond désir, naissent souvent les haines les plus mortelles. Socrate

Et bien sure, je ne peux pas couper au point (.) car il peut y en avoir plusieurs dans une citation et cela me parait un peu hasardeux. hmm


Merci d'avance pour votre aide.


Orsam



Bash communication MySQL

0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor