Marche pas non plus avec CallC...
Voila une partie de mon code :
Enumeration
#libmysql
#Erreur
#Verif_ok
#Not_actif
#Acces_ok
EndEnumeration
If OpenLibrary ( #libmysql , "libmySQL.dll" ) ;charger la dll et choper l'adresse des fonctions
Global init = GetFunction( #libmysql , "mysql_init" )
Global close = GetFunction( #libmysql , "mysql_close" )
Global list_tables = GetFunction( #libmysql , "mysql_list_tables" )
Global real_connect=GetFunction( #libmysql , "mysql_real_connect" )
Global num_rows=GetFunction( #libmysql , "mysql_num_rows" )
Global fetch_row=GetFunction( #libmysql , "mysql_fetch_row" )
Global free_result=GetFunction( #libmysql , "mysql_free_result" )
Global query = GetFunction( #libmysql , "mysql_query" )
Global store_result = GetFunction( #libmysql , "mysql_store_result" )
Global real_query = GetFunction( #libmysql , "mysql_real_query" )
Global field_count = GetFunction( #libmysql , "mysql_field_count" )
Global affected_rows = GetFunction( #libmysql , "mysql_affected_rows" )
Global num_fields = GetFunction( #libmysql , "mysql_num_fields" )
Global num_rows = GetFunction( #libmysql , "mysql_num_rows" )
Global fetch_row = GetFunction( #libmysql , "mysql_fetch_row" )
Global fetch_lengths = GetFunction( #libmysql , "mysql_fetch_lengths" )
dbHnd = CallCFunctionFast (init,0)
If dbHnd = 0
MessageRequester ( "Erreur" , "Impossible d'initialiser la connection" , #PB_MessageRequester_Ok )
End
EndIf
Else
MessageRequester ( "Erreur" , "Impossible de charger libmysql.dll" , #PB_MessageRequester_Ok )
End
EndIf
; Entrez les infos sur votre base sql
IPsql$ = "127.0.0.1"
user$ = "root"
pass$ = ""
portsql =0
pipe$ = ""
conconf =0
;connection a la base de donnée
CallFunctionFast (real_connect,dbHnd, IPsql$, user$, pass$, "ssa" , portsql, pipe$, conconf)
Procedure client_verif(site$, login$, pass$, pcname$)
;initialisation de la requete
SQL$ = "SELECT ID, actif$, site$, pseudo$, pass$, pcname$ FROM secu WHERE site = '" + site$ + "' AND login = '" + login$ + "' AND pass = '" + pass$ + "' AND pcname = '" + pcname$ + "'"
Debug real_query
If CallFunctionFast (real_query, dbHnd, SQL$, Len (SQL$)) ;note c'est un peu bizzare, mais real_query renvoie 0 QUAND ELLE MARCHE et des infos QUAND ELLE NE MARCHE PAS. Je suis resté bloqué comme un con à cause de ca xD
ProcedureReturn #Erreur
Else
*mysqlResult= CallFunctionFast (store_result,dbHnd)
If *mysqlResult=0
If CallFunctionFast (field_count,dbHnd)
ProcedureReturn #Erreur
Else
EndIf
Else
affRows = CallFunctionFast (affected_rows,dbHnd)
*mysqlRow= CallFunctionFast (fetch_row,*mysqlResult)
*mysqlLen= CallFunctionFast (fetch_lengths,*mysqlResult)
length= PeekL (*mysqlLen+4*(0))
fieldptr= PeekL (*mysqlRow+4*(0))
If PeekS (fieldptr,length) = "1"
ProcedureReturn #Verif_ok
Else
ProcedureReturn #Not_actif
EndIf
EndIf
EndIf
EndProcedure