Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
960 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  bash vs mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

bash vs mysql

n°510522
daru
Posté le 26-06-2004 à 11:26:18  profilanswer
 

Bonjour,
J'essaie de requeter ma base de données MySQL je fait :
#extraction des donnees de la table modif
temp=`mysql -h localhost -u $user -p$pass -D$db -B -N -e "SELECT * FROM modif WHERE id=$1"`
 
#importer le res dans un tablo
res=($temp)
 
puis pour consulter les valeurs de chaque colone j'utilise
echo ${res[0]}
#ou 0 est l'indice de la premiere colonne de la ligne selectionée
 
jusqu'a la tous marche parfait, maintenant j'ai une table qui peut contenir des colonnes a valeur vide (NULL), alors quand je fait echo ${res[5]} où 5 l'indice de la colonne qui contient un element de valeur NULL (vide) :) l'echo m'affiche la valeur de la premiere colonne qui vient aprés la cinquiéme et qu'a une valeur NON NULLE.
exemple :
 
colonne1='valeur1' colonne2='valeur2' colonne3='valeur3' colonne4='valeur4' colonne5='' colonne6='' colonne7='valeur7'
 
voila ce que la variabke $temp doit contenir :
$temp=valeur1 valeur2 valeur3 valeur4 valeur7
 
et donc ${res[5]} me renvoit valeur7 puisque j'ai deux valeurs NULLES et que lorsque j'importe une chaine dans un tableau bash considere que chaque espace est un separateur de colonne.
 
comment je pourrais depasser ce probléme ?
merci d'avance ;)
 

mood
Publicité
Posté le 26-06-2004 à 11:26:18  profilanswer
 

n°510534
Zaib3k
Posté le 26-06-2004 à 11:54:50  profilanswer
 

essaie de changer le séparateur de colonnes avant de mettre temp dans res. avec tr par exemple. et après joue sur le IFS. ca peut etre un debut d'idée :D

n°510566
daru
Posté le 26-06-2004 à 13:04:51  profilanswer
 

salut Zaib3k et merci pour votre aide,
j'ai pas trop bien compris le truc, surtout l'IFS

n°510568
Zaib3k
Posté le 26-06-2004 à 13:11:53  profilanswer
 

IFS est le séparateur de champs. par defaut il vaut " " et donc il peut etre rempalcé par autre chose. : par exemple. a partir de la, une champs = " " serait pris en compte.
 
Copie/colle une ligne type ici pour voir.

n°510574
daru
Posté le 26-06-2004 à 13:16:00  profilanswer
 

comment jpourrais definir l'IFS ?

n°510577
Zaib3k
Posté le 26-06-2004 à 13:19:52  profilanswer
 

IFS=":"
 
 
 

echo "blabla toto   lala" | tr " " ":"  |  sed 's/::/: /g'


 
renvera blabla:toto: :lala et la tout pourra faire ta sauce si IFS est a :
 
je suis pas super clair mais l'idée est la :D


Message édité par Zaib3k le 26-06-2004 à 13:20:22
n°510579
daru
Posté le 26-06-2004 à 13:29:42  profilanswer
 

wé ca se voit :)
merci beaucoups :)

n°510580
Zaib3k
Posté le 26-06-2004 à 13:30:11  profilanswer
 

de nada


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  bash vs mysql

 

Sujets relatifs
[postfix mysql Mandrake] probleme d'installation SMTP SASL Mysql[Script BASH] Script pour transformer un ogm en avi
[bash | awk | sed] ptit script[BASH][SCRIPT]lecture de plusieurs fichier en meme temps?
[ Firefox ] Nouveau menu, passer l'url dans un script bash...installation de mysql sur MDK10
[BASH] Portée d'une variableComment générer des nombres aléatoires sous bash ?
gestion d'autoreply avec postfix mais sans mysql ni ldapMacOS X, Bash et Path...
Plus de sujets relatifs à : bash vs mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR