Requête mysql dans un fichier bash
Bonjour,
Avec ce code bash j'affiche l'id du contenu qui m'interesse
Code:
1 2 3
| mysql -u $login_db -D $nom_bd -h $hote_db -p$pass_bd --default-character-set=$format_texte -e "connect $nom_bd; SELECT $select_noms_colonnes5_2 FROM $nom_table5 WHERE $colonne_recherche5_1 LIKE '$recherche5_1%' AND $colonne_recherche5_2 LIKE '$recherche5_2%'" | sed '1d' | while read lignes3; do
$lignes3"
done |
Résultat
Dans une autre table , j'essaye d' afficher le contenu de la table avec l'id, donc avec la valeur de variable $lignes3 de la 1er requête (voir au dessus) dans ma requête sql06 (ci-dessous).
mais quand je fait ceci c'est toute la table qui s'affiche sur des kilomètres
Code:
1 2 3 4
| sql06="SELECT $select_noms_colonnes1_2 FROM $nom_table1 WHERE id LIKE '$lignes3%'"
mysql -u $login_db -D $nom_bd -h $hote_db -p$pass_bd --default-character-set=$format_texte -e "$sql06" | sed '1d' | while read lignes6; do
echo "resultat test 6 :" $lignes6
done |
Il m'affiche sur des kilomètres
Code:
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
| resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 : e-lall-on
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 : e-lall-on
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 :
resultat test 6 : |
au lieu de m'afficher :
Code:
1 2
| resultat test 6 : e-lall-on
resultat test 6 : e-lall-on |
Ma requête tel que je l'ai formulé (vérification avec : echo "resultat test 6 :" $lignes6)
Code:
resultat sql06 : SELECT fichier_cm_lumiere_all_On FROM bash WHERE id LIKE '%'
Le " LIKE '%' " a la fin de la requête n'affiche pas la variable '$lignes3%'" de la requête sql06
j'ai aussi essayé
Code:
sql06="SELECT $select_noms_colonnes1_2 FROM $nom_table1 WHERE id='$lignes3'"
bash m'affiche
Code:
1 2
| /home/serveur/Domotique/ordres/e-lall-on: line 260: Erreur de syntaxe près du symbole inattendu « done »
/home/serveur/Domotique/ordres/e-lall-on: line 260: `done' |
Vérification de la requête
Code:
resultat sql06 : SELECT fichier_cm_lumiere_all_On FROM bash WHERE id=''
Idem pour :
Code:
sql06="SELECT $select_noms_colonnes1_2 FROM $nom_table1 WHERE id LIKE '" $lignes3"'"
Code:
sql06="SELECT $select_noms_colonnes1_2 FROM $nom_table1 WHERE id LIKE \'" $lignes3"\'"
Code:
sql06="SELECT $select_noms_colonnes1_2 FROM $nom_table1 WHERE id LIKE \'$lignes3%\' "
Comment faire ?
Merci.