Autos laden nicht

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • mysql_store_result hat gefehlt.
    Versuche es so:
    public OnPlayerCarsLoad(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",PlayerInfo[playerid][pMySQLID]);
    mysql_query(query);
    printf("query = %s", query);
    mysql_store_result();
    SendClientMessage(playerid,COLOR_RED,"Bis hier geht es");
    new num_rows = mysql_num_rows();
    printf("%i num rows",num_rows);
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeCarID();
    SendClientMessage(playerid,COLOR_RED,"Bis hier geht es auch");
    cInfo[i][carmodel] = mysql_GetIntByInt("autos","model","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][besitzer] = mysql_GetIntByInt("autos","besitzer","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][c_x] = mysql_GetFloatByInt("autos","x","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][c_y] = mysql_GetFloatByInt("autos","y","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][c_z] = mysql_GetFloatByInt("autos","z","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][c_r] = mysql_GetFloatByInt("autos","r","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][db_id] = mysql_GetIntByInt("autos","id","besitzer",PlayerInfo[playerid][pMySQLID]);
    cInfo[i][id_x]=CreateVehicle(cInfo[i][carmodel],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],-1,-1,-1);
    }
    mysql_free_result();
    return 1;
    }

  • Code
    [10:29:06] [join] Tim has joined the server ()
    [10:29:15] query = SELECT * FROM autos WHERE besitzer='12'
    [10:29:15] 1 num rows
    [10:29:15] Tim hat sich eingeloggt.

    Jetzt wurde es geladen



    // Edit es lädt aber immer noch die gleiche Vehicleid und kein anderes

    Einmal editiert, zuletzt von timm462f ()

  • Müsste das dann so?



    cInfo[i][carmodel] = mysql_GetIntByInt("autos","model","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][besitzer] = mysql_GetIntByInt("autos","besitzer","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][color_1] = mysql_GetIntByInt("autos","farbe1","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][color_2] = mysql_GetIntByInt("autos","farbe2","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][c_x] = mysql_GetFloatByInt("autos","x","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][c_y] = mysql_GetFloatByInt("autos","y","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][c_z] = mysql_GetFloatByInt("autos","z","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][c_r] = mysql_GetFloatByInt("autos","r","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][db_id] = mysql_GetIntByInt("autos","id","besitzer","model",PlayerInfo[playerid][pMySQLID],cInfo[i][carmodel]);
    cInfo[i][id_x]=CreateVehicle(cInfo[i][carmodel],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][color_1],cInfo[i][color_2],-1);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • @Jeffry


    C
    tock mysql_GetIntByInt(Table[], Field[], Where[], Where2)
    {
            new Get[128];
            format(query, 128, "SELECT %s FROM %s WHERE %s = '%d'", Field, Table, Where, Where2);
            //mysql_query(query,-1,0,connection); mysql_query(query,-1,0,connection1);
            mysql_query(query);
            mysql_store_result();
            mysql_fetch_row(Get,"|");
            return strval(Get);
    }
  • Dann geht es so gar nicht, sondern muss so aussehen:
    public OnPlayerCarsLoad(playerid)
    {
    new query[128], data[256];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",PlayerInfo[playerid][pMySQLID]);
    mysql_query(query);
    printf("query = %s", query);
    mysql_store_result();
    SendClientMessage(playerid,COLOR_RED,"Bis hier geht es");
    new num_rows = mysql_num_rows();
    printf("%i num rows",num_rows);
    if(num_rows > 0)
    {
    while(mysql_fetch_row(data))
    {
    new i=getFreeCarID();
    SendClientMessage(playerid,COLOR_RED,"Bis hier geht es auch");
    mysql_fetch_field("model",data); cInfo[i][carmodel] = strval(data);
    mysql_fetch_field("besitzer",data); cInfo[i][besitzer] = strval(data);
    mysql_fetch_field("x",data); cInfo[i][c_x] = floatstr(data);
    mysql_fetch_field("y",data); cInfo[i][c_y] = floatstr(data);
    mysql_fetch_field("z",data); cInfo[i][c_z] = floatstr(data);
    mysql_fetch_field("r",data); cInfo[i][c_r] = floatstr(data);
    mysql_fetch_field("id",data); cInfo[i][db_id] = strval(data);
    cInfo[i][id_x] = CreateVehicle(cInfo[i][carmodel],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],-1,-1,-1);
    }
    }
    mysql_free_result();
    return 1;
    }

  • Wie sieht dein OnPlayerCarsLoad aktuell aus?


    public OnPlayerCarsLoad(playerid)
    {
    new query[128], data[356];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",PlayerInfo[playerid][pMySQLID]);
    mysql_query(query);
    printf("query = %s", query);
    mysql_store_result();
    new num_rows = mysql_num_rows();
    printf("%i num rows",num_rows);
    if(num_rows > 0)
    {
    while(mysql_fetch_row(data))
    {
    new i=getFreeCarID();
    mysql_fetch_field("model",data); cInfo[i][carmodel] = strval(data);
    mysql_fetch_field("besitzer",data); cInfo[i][besitzer] = strval(data);
    mysql_fetch_field("Farbe1",data); cInfo[i][color_1] = strval(data);
    mysql_fetch_field("Farbe2",data); cInfo[i][color_2] = strval(data);
    mysql_fetch_field("x",data); cInfo[i][c_x] = floatstr(data);
    mysql_fetch_field("y",data); cInfo[i][c_y] = floatstr(data);
    mysql_fetch_field("z",data); cInfo[i][c_z] = floatstr(data);
    mysql_fetch_field("r",data); cInfo[i][c_r] = floatstr(data);
    mysql_fetch_field("id",data); cInfo[i][db_id] = strval(data);
    mysql_fetch_field("kennzeichen",data); format(cInfo[i][kennzeichen], 64, data);
    cInfo[i][id_x] = CreateVehicle(cInfo[i][carmodel],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][color_1],cInfo[i][color_2],-1);
    SetVehicleNumberPlate(cInfo[i][id_x],cInfo[i][kennzeichen]);
    }
    }
    mysql_free_result();
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen