SA-MP Forums Archive
Bug while. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Bug while. (/showthread.php?tid=537132)



Bug while. - Baltimore - 13.09.2014

Hello!

Here I have a problem with my loop.

I had to worry about, so I do log (printf) and it tells me PosX value 0.00000 in printf while in my MySQL database value is not 0.

I also consulted my debug.txt values ​​were good but there was this:

CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)



pawn Code:
public LoadSQLObjets()
{
    new i;
   
    new requete[1024],
        Charger[35];
   
    while(i <= MAX_OBJETS)
    {
        format(requete, sizeof(requete), "SELECT * FROM srp_players_objets WHERE LOWER(ID) = LOWER('%d') LIMIT 1", i);
        mysql_query(requete);
        mysql_store_result();
        if(mysql_num_rows() != 0)
        {
            while(mysql_fetch_row_format(requete, "|"))
            {
               
                mysql_fetch_field_row(Charger, "ID"); ObjetsInfo[i][ID] = strval(Charger);
                mysql_fetch_field_row(Charger, "IDOBJET"); ObjetsInfo[i][IDOBJET] = strval(Charger);
               
                mysql_fetch_field_row(Charger, "VW"); ObjetsInfo[i][VW] = strval(Charger);
                mysql_fetch_field_row(Charger, "Inte"); ObjetsInfo[i][Inte] = strval(Charger);
               
                mysql_fetch_field_row(Charger, "PosX"); ObjetsInfo[i][PosX] = floatstr(Charger);
                mysql_fetch_field_row(Charger, "PosY"); ObjetsInfo[i][PosY] = floatstr(Charger);
                mysql_fetch_field_row(Charger, "PosZ"); ObjetsInfo[i][PosZ] = floatstr(Charger);
               
                mysql_fetch_field_row(Charger, "poseur"); strmid(ObjetsInfo[i][Poseur], Charger, 0, strlen(Charger), 255);
               

                mysql_fetch_field_row(Charger, "Gilet"); ObjetsInfo[i][Gilet] = floatstr(Charger);
       
                mysql_fetch_field_row(Charger, "Sommes"); ObjetsInfo[i][Sommes] = strval(Charger);
                mysql_fetch_field_row(Charger, "VarieteArme"); ObjetsInfo[i][VarieteArme] = strval(Charger);
               
                printf("While: %f", ObjetsInfo[i][PosX]);
       
                if(ObjetsInfo[i][IDOBJET] == 1242) // Gilet, on le mets а Z - 0.85
                {
                    ObjetsAuSol[i] = CreateDynamicObject(ObjetsInfo[i][IDOBJET], ObjetsInfo[i][PosX], ObjetsInfo[i][PosY], ObjetsInfo[i][PosZ]-0.85, 0.0, 0.0, 0.0, ObjetsInfo[i][VW], ObjetsInfo[i][Inte], -1, 100.0);
                }
                else
                {
                    ObjetsAuSol[i] = CreateDynamicObject(ObjetsInfo[i][IDOBJET], ObjetsInfo[i][PosX], ObjetsInfo[i][PosY], ObjetsInfo[i][PosZ]-1, 0.0, 0.0, 0.0, ObjetsInfo[i][VW], ObjetsInfo[i][Inte], -1, 100.0);
                    printf("Objet: %f", ObjetsInfo[i][PosX]);
                }

                mysql_free_result();
            }
            i++;
        }
        else
        {
            i++;
            continue;
        }
        if(i >= MAX_OBJETS)
        {
            break;
        }
    }
    return 1;
}



Re: Bug while. - Baltimore - 13.09.2014

up please.


Re: Bug while. - Baltimore - 14.09.2014

UP please.

(+reps for help)


Re: Bug while. - Baltimore - 14.09.2014

Indeed, there is no need to do that.

SELECT * FROM srp_players_objets WHERE LOWER(ID) = LOWER('%d') LIMIT 1

to:

SELECT * FROM srp_players_objets WHERE ID = '%d' LIMIT 1

it will be correct for the query?


Re : Bug while. - S4t3K - 14.09.2014

I think so.
Try and tell us.


Re: Bug while. - Baltimore - 14.09.2014

I made the change, it does not change in any case the initial worries.