erreur script et connection bdd
#1
bonjour je debute aussi ds les scripts et je n'arrive pas a faire une connction a une base mysql avec le script suivant (codé par DAV34) :
Code :
##############
# CONFIGURATION #
##############

# -> Login
set sql(login) "pred"
# -> Mot de passe
set sql(pass) "*****"
# -> Nom de la base de donnée
set sql(db) "pre2"
# -> L'host a l'aquelle ce connecté
set sql(host) "adresses"
# -> Localisation de fichier mysql.sock
set sql(sock) "/tmp/mysql.sock"

###########
# PAQUETAGE #
###########
  
catch {package require mysqltcl}

#######
# CODE  #
#######

#########
# CONNECT #
#########
proc service:connect {} {
    set ::mysqlink [mysqlconnect -host $::sql(host) -user $::sql(login) -password $::sql(pass) -sock $::sql(sock)]
    mysqluse $::mysqlink $::sql(db)
}

###########
# DECONNECT #
###########

proc service:deconnect {} {
    mysqlclose $::mysqlink; unset -nocomplain ::mysqlink    
}

########
# ISAUTH #
########

proc isauth {arg} {
   service:connect
   set res [mysqlsel $::mysqlink "select statut from access where pseudo = '$arg' and statut = 'On'"]
   service:deconnect
   return $res
}

##########
# ISSUSPEND #
##########

proc issuspend {arg} {
   service:connect
   set res [mysqlsel $::mysqlink "select statut from access where pseudo = '$arg' and suspend = 'On'"]
   service:deconnect
   return $res
}

############
# ISVALIDUSER #
############

proc isvaliduser {arg} {
   service:connect
   set res [mysqlsel $::mysqlink "select pseudo from access where pseudo = '$arg'"]
   service:deconnect
   return $res
}

################
# ISVALIDPASSWORD #
################

proc isvalidpassword {mot1 mot2} {
   service:connect
   set res [mysqlsel $::mysqlink "select pseudo, pass from access where pseudo = '$mot1' and pass = '$mot2'"]
   service:deconnect
   return $res
}

########
# AUTH #
########

proc auth {arg} {
   service:connect
   mysqlsel $::mysqlink "UPDATE `access` SET `statut` = 'On' WHERE pseudo = '$arg'"
   service:deconnect
}

#######
# AUTH  #
#######

bind msg - auth msg:auth
proc msg:auth {nick host hand arg} {
   set mot1 [lindex $arg 0]
   set mot2 [lindex $arg 1]
   if { $mot1 == "" || $mot2 == "" } { puthelp "NOTICE $nick :Commande auth : /msg $::botnick auth <pseudo> <pass>"; return 0 }
   if { ![isvaliduser $mot1] } { puthelp "NOTICE $nick :$mot1 user inconnue !"; return 0 }
   if { [isvalidpassword $mot1 $mot2] } {
      if { [issuspend $mot1] } { puthelp "NOTICE $nick :Accés suspendu"; return 0 }
      if { [isauth $mot1] } { puthelp "NOTICE $nick :Vous êtes déjà  identifié !"; return 0 }
      puthelp "NOTICE $nick :Félicitation, vous êtes identifier"
      auth $mot1
   } else {
      puthelp "NOTICE $nick :Erreur, mot de passe incorrect."; return 0
   }
}
#########
# SQLTEST #
#########

# Il vous faudra taper .afficher en dcc chat pour que cette commande fonctionne

bind dcc afficher dcc:afficher
proc dcc:afficher {hand idx arg} {
    service:connect
    mysqlsel $::mysqlink "SELECT * FROM `access` ORDER BY id"
    if {[mysqlresult $::mysqlink rows] ne 0} {
        while {[set row [mysqlnext $::mysqlink]] != ""} {
                  putlog "id : [lindex $row 0]"
                  putlog "pseudo : [lindex $row 1]"
                  putlog "pass : [lindex $row 2]"
                  putlog "grade : [lindex $row 3]"
                  putlog "suspend : [lindex $row 4]"
                  putlog "statut : [lindex $row 5]"
            }
        }
    service:deconnect
}

bind dcc B accesslist accesslist:cmd
proc accesslist:cmd {hand idx arg} {
    service:connect
    mysqlsel $::mysqlink "SELECT * FROM `access` ORDER BY nick"
        if {[mysqlresult $::mysqlink rows] ne 0} {
            while {[set row [mysqlnext $::mysqlink]] != ""} {
                putdcc $idx "\2[lindex $row 0]\2 \[pass\] [lindex $row 1] \[host/ip\] [lindex $row 2] \[e-mail\] [lindex $row 3]"
            }
        }
    service:deconnect
    putdcc $idx "\2\2"
    putdcc $idx "\2Fin de la liste\2."
    return 1
}
putlog "Test v. 1.1 (C)  successfully loaded"
qui est le code que j'ai trouvé sur le wiki

quand je tape !accesslist je recuperer cet erreur en dcc sur le bot
Identd Already Disabled. (Tried to Close)
[08:00] <bot> [08:00:01] * Context: tclhash.c/721 []
et impossible de tester la connection

comment trouver une commande simple pouvant me retourner l'etat de la connection sql ??
merci d'avance
Répondre Avertir


Messages dans ce sujet
erreur script et connection bdd - par zorrax - 06/11/2010, 09:07

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté