Code Mysql qui ne passe pas en Bash

Code Mysql qui ne passe pas en Bash - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 12-04-2008 à 21:21:11    

Bonsoir,
 
J'ai un soucis avec ce code.
 

Code :
  1. #!/bin/sh
  2. passwd=pass
  3. mysql --user=root -e "USE database; UPDATE `bab_sites` SET `name` = 'chardon', `smtppassword` = '', `ldap_adminpassword` = '' WHERE `id` =1 LIMIT 1;" --password=$passwd


 
Le message d'erreur est le suivant :
 

Code :
  1. bab_sites: command not found
  2. name: command not found
  3. smtppassword: command not found
  4. ldap_adminpassword: command not found
  5. ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET  = 'chardon',  = '',  = '' WHERE uid=0(root) gid=0(root) groupes=0(root) ' at line 1


 
Je parviens à créer une base, créer un utilisateur mais je ne parviens pas à changer la valeur d'un champ dans une table Mysql.
 
La syntaxe est bonne car elle passe en ligne de commande et elle est extrait de phpmyadmin.
 
Merci pour votre aide.

Reply

Marsh Posté le 12-04-2008 à 21:21:11   

Reply

Marsh Posté le 12-04-2008 à 22:48:10    

les ` ` sont interprétés


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 12-04-2008 à 22:59:14    

Ils sont interprétés ce qui génère les premières erreurs.
Il faut que je teste mais je pense que si je les retire, c'est la commande mysql qui ne sera plus valide.

Reply

Marsh Posté le 12-04-2008 à 23:00:20    

si tu en as besoin réellement échappe les.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 12-04-2008 à 23:00:20    

Sisi, ça marchera très bien sans ;)

  

edith : :fou:


Message édité par Riot le 12-04-2008 à 23:00:39

---------------
Be the one with the flames.
Reply

Marsh Posté le 13-04-2008 à 09:28:28    

Merci zecrazytux, o'gure et Riot, cela fonctionne bien.
 
Qu'est ce que l'on entends par "échapper" ?

Reply

Marsh Posté le 13-04-2008 à 09:36:30    

mettre  \ devant.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 13-04-2008 à 09:38:34    

Merci o'gure. Je prends notes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed