Page 1 sur 1

[R] EzMySQL et test d'existance

Posté : ven. 13 mai 2016 20:08
par Ks10
Bonsoir à tous,

Cela faisait un moment que j'avais pas coder en Autoit, je reprend donc ce soir sur mes vieilles notions et j'ai pas trop perdu la main mais je bloque sur quelques choses. Donc la ce que je souhaite faire c'est tester qu'une informations existe dans ma table entière et si elle renvoie 0 cela signifie qu'il n'existe pas je peux donc passer à la suite, si il existe je ferme le programme.

Voici mon code :

#include "EzMySQL.au3"

_EzMySql_startup()

_EzMySql_open("localhost", "root", " ", "maBase", "3306")

$test = _EzMySql_query("SELECT * FROM `user` WHERE `pseudo` = 'ks10')

if $test = 1 Then ; Ici la variable test renvoie 1 meme si dans la base cette valeur n'existe pas.
Msgbox(64, "Title", "Le pseudo existe")
Else
Msgbox(64, "Title", "Le pseudo existe pas, tu peux passer à la suite")
Endif

_EzMySql_close();


Donc voilà, je ne comprend pas ou est mon erreur ? Dans l'idée il faut que le code soit capable de vérifier dans la table entière si dans la colonne "pseudo" ce pseudo existe si oui il ferme le programme, si non il continue la suite.

Merci d'avance

A bientot

Re: [..] EzMySQL et test d'existance

Posté : ven. 13 mai 2016 20:29
par jchd
Je ne connais pas cet UDF ni MySQL d'ailleurs, mais un select renvoie typiquement un tableau et généralement 2D. Ceci dit, il manque un " à la fin de la requête...
Si tu veux ne recevoir qu'une seule valeur (0 : absent, >=1 : présent), il faut le demander explicitement :
SELECT count(*) FROM `user` WHERE `pseudo` = 'ks10'

Re: [..] EzMySQL et test d'existance

Posté : ven. 13 mai 2016 20:54
par Ks10
Merci pour ta réponse rapide,

Alors j'ai tester avec la requête que tu m'a suggérer et le résultat est pareil...
Il me renvoie toujours 1 alors qu'il n'existe toujours pas.

Merci d'avance

EDIT : J'ai rien dit sa fonctionne mais en testant la variable pur sa ne fonctionne pas il renvoie 1 il a fallu que je fait :

Code : Tout sélectionner

For $i = 1 To _EzMySql_Rows() Step 1
			$a1Row = _EzMySql_FetchData()


Next
A la suite de la requête.

Sujet résolu
Merci pour la piste :)