Login con MySQL -
ForTrezZ - 17.09.2013
Buenas, estoy haciendo un login a MySQL, pero tengo un problema. El Row siempre me devuelve 0, osea siempre me devuelve el registro, ya ingreese en la tabla de mi BD los datos de mi cuenta pero cuando ago la consulta me devuelve como si no existiera.
pawn Код:
public OnPlayerConnect(playerid)
{
new query[500];
format(query, sizeof(query), "SELECT * FROM ug_members WHERE member_name=\"%S\" LIMIT 0, 1", GetPlayerNameEx(playerid));
sql_query(conn, query, QUERY_THREADED, "OnPlayerLoaded", "ri", playerid);
return 1;
}
func OnPlayerLoaded(Result:r, playerid)
{
new rows = sql_num_rows(r);
if (rows) {
SendClientMessage(playerid, -1, "Devuelve login");
} else {
SendClientMessage(playerid, -1, "Devuelve Registro");
}
}
La consulta la verifique como 15 veses a ver si esta bien y no veo ningun error, la verdad me quede sorprendido, de ante mano gracias por su ayuda (:
Respuesta: Login con MySQL -
oOFotherOo - 17.09.2013
Devuelve 0 porque se le olvidу agregar el macro "QUERY_CACHED" el cuбl hace que al realizar la consulta devuelva los rows.
pawn Код:
public OnPlayerConnect(playerid)
{
new query[500];
format(query, sizeof(query), "SELECT * FROM ug_members WHERE member_name=\"%S\" LIMIT 0, 1", GetPlayerNameEx(playerid));
sql_query(conn, query, QUERY_CACHED | QUERY_THREADED, "OnPlayerLoaded", "ri", playerid);
return 1;
}
func OnPlayerLoaded(Result:r, playerid)
{
new rows = sql_num_rows(r);
if (rows) {
SendClientMessage(playerid, -1, "Devuelve login");
} else {
SendClientMessage(playerid, -1, "Devuelve Registro");
}
}
Un saludo.
Respuesta: Login con MySQL -
ForTrezZ - 17.09.2013
Oooh, claro no me di cuenta ! gracias broh (:
Respuesta: Login con MySQL -
DesingMyCry - 17.09.2013
Linda variable.
pawn Код:
new query[60+MAX_PLAYER_NAME];
Ahн se ve mas agradable.
Respuesta: Login con MySQL -
ForTrezZ - 19.09.2013
Quote:
Originally Posted by DesingMyCry
Linda variable.
pawn Код:
new query[60+MAX_PLAYER_NAME];
Ahн se ve mas agradable.
|
Me olvide de sacarlo, lo puse a proposito porque pense que la consulta no se enviaba completa asique exagere y le puse 500.