GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: BuBuNo le 16 Janvier 2010, 18:31:28

Titre: Crash avec samp_mysql_fetch_row
Posté par: BuBuNo le 16 Janvier 2010, 18:31:28
Bonjour a tous ;)

Alors voila j'ai un petit soucis avec MySql et tout particulierement cette fontion : samp_mysql_fetch_row

Donc enfaite quand je me logue le serveur s'éteint sa n'arrive pas a chaque fois mais des fois ^^

Je sait que ces cette fonction car j'ai utiliser un moyen de localisation assez simple :

if(!strlen(tmpp))
{
SendClientMessage(playerid, COLOR_WHITE, "  USAGE: /login [password]");
printf("%s : Login [PASS]", PlayerName);
return 1;
}
printf("%s : strlen(tmpp) reussi", PlayerName);
password[13] = strval(tmpp);

if(PlayerInfo[playerid][Logged] == 1)
{
format(str, sizeof(str), "  ERROR: Vous êtes déjà loguer (username: \"%s\")", PlayerName);
SendClientMessage(playerid, COLOR_RED, str);
printf("%s : Déja loguer", PlayerName);
return 1;
}
        printf("%s : PlayerInfo[playerid][Logged] == 1 reussi", PlayerName);
if(!MySQLCheckUserExistance(playerid))
{
format(str, sizeof(str), "  ERROR: Le compte \"%s\" n'est pas enregistrer merci d'utiliser /register!", PlayerName);
SendClientMessage(playerid, COLOR_RED, str);
printf("%s : Compte non enregistrer", PlayerName);
return 1;
}
printf("%s : MySQLCheckUserExistance(playerid)", PlayerName);
format(query, sizeof(query), "SELECT * FROM `users` WHERE `name` = '%s'", PlayerName);
printf("%s : 1", PlayerName);
samp_mysql_query(query);
printf("%s : 2", PlayerName);
samp_mysql_store_result();
printf("%s : 3", PlayerName);
samp_mysql_fetch_row(line);
printf("%s : 4", PlayerName);


Et puis apres je me logue sa coupe donc je vais voir ce que me dit le log :

Citer
[18:13:57] BuBuNo : /login en cour ...
[18:13:57] BuBuNo : GetPlayername reussi
[18:13:57] BuBuNo : GetPlayerIP reussi
[18:13:57] BuBuNo : strlen(tmpp) reussi
[18:13:57] BuBuNo : PlayerInfo[playerid][Logged] == 1 reussi
[18:13:57] BuBuNo : MySQLCheckUserExistance(playerid)
[18:13:57] BuBuNo : 1
[18:13:57] BuBuNo : 2
[18:13:57] BuBuNo : 3

et puis plus rien donc en constant que sa coupe avant le 4 j'en conclut que ces cette fonction :
printf("%s : 3", PlayerName);
samp_mysql_fetch_row(line);
printf("%s : 4", PlayerName);


Mais je n'ai pas trouver de résponse a mon probleme donc merci d'avance de votre aide ;)
Titre: Re : Crash avec samp_mysql_fetch_row
Posté par: cristab le 16 Janvier 2010, 20:24:01
(line) coorespond a quoi ?
Titre: Re : Crash avec samp_mysql_fetch_row
Posté par: BuBuNo le 16 Janvier 2010, 21:59:44
sa ne corespond que a sa :
line[1024]

Merci d'avance
Titre: Re : Crash avec samp_mysql_fetch_row
Posté par: cristab le 16 Janvier 2010, 22:19:26
je pense qu'il faut revoir sa car sa ne coorespond donc a rien :s
Titre: Re : Crash avec samp_mysql_fetch_row
Posté par: BuBuNo le 16 Janvier 2010, 22:22:28
Bizar car sur le site il marque la meme chose enfin le meme prinsipe : http://lostgangwarz.free.fr/samp_mysql_fr.php#samp_mysql_fetch_row (http://lostgangwarz.free.fr/samp_mysql_fr.php#samp_mysql_fetch_row)
Titre: Re : Crash avec samp_mysql_fetch_row
Posté par: BuBuNo le 22 Janvier 2010, 19:17:52
Up  :-[

Quelqu'un pourais m'aider  :)

Merci d'avance de votre aide ;)
Titre: Re : Crash avec samp_mysql_fetch_row
Posté par: S!m le 22 Janvier 2010, 19:56:34
Salut,

il est aussi possible que les fonctions précédentes échouent et que ce soit ce qui cause le crash avec cette fonction

tente de faire comme ceci:

if(samp_mysql_query(Query) == 1)
{
if(samp_mysql_store_result() == 1)
{

sinon print les valeurs de retour des fonctions comme ceci:

printf("%s : query: %d", PlayerName, samp_mysql_query(query));
printf("%s : store: %d", PlayerName, samp_mysql_store_result());
printf("%s : fetch: %d", PlayerName,samp_mysql_fetch_row(line));

sinon, assure toi d'être bien connecté à ta db, et de faire les bonnes requêtes
reviens nous avec le résultat

++Sim++