Mysql Loadproblem

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
  • Nabend Community,


    leider habe ich ein Problem mit meinem Mysqlsystem.
    Speichern ist okay.
    Doch das Laden bereitet mir probleme.
    Er lädt einfach nicht die komplette liste.
    Und somit startet der Server auch nicht.


    Nun frag ich mich ob es am Code oder an der Struktur von meiner Tabelle liegt.


    Hier mein Code


    stock LoadFraktion(f)
    {
    new query[256];
    new data[255];
    format(query,sizeof(query),"SELECT FROM fraktionen WHERE ID = %d",f);
    printf("%d = id",f);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Bank",data);
    FraktionInfo[f][fBank]=strval(data);
    mysql_fetch_field("Name",data);
    strmid(FraktionInfo[f][fName],data,0,strlen(data),255);
    printf("%s",FraktionInfo[f][fName]);
    mysql_fetch_field("SpawnX",data);
    FraktionInfo[f][SpawnX]=floatstr(data);
    printf("%.2f",FraktionInfo[f][SpawnX]);
    mysql_fetch_field("SpawnY",data);
    FraktionInfo[f][SpawnY]=floatstr(data);
    mysql_fetch_field("SpawnZ",data);
    FraktionInfo[f][SpawnZ]=floatstr(data);
    FraktionInfo[f][PickupID] = AddStaticPickup(1239,23,FraktionInfo[f][SpawnX],FraktionInfo[f][SpawnY],FraktionInfo[f][SpawnZ]);
    mysql_fetch_field("Rank1",data);
    strmid(FraktionInfo[f][Rank1],data,0,strlen(data),255);
    mysql_fetch_field("Rank2",data);
    printf("%s",FraktionInfo[f][Rank1]);
    strmid(FraktionInfo[f][Rank2],data,0,strlen(data),255);
    mysql_fetch_field("Rank3",data);
    strmid(FraktionInfo[f][Rank3],data,0,strlen(data),255);
    mysql_fetch_field("Rank4",data);
    strmid(FraktionInfo[f][Rank4],data,0,strlen(data),255);
    mysql_fetch_field("Rank5",data);
    strmid(FraktionInfo[f][Rank5],data,0,strlen(data),255);
    mysql_fetch_field("Rank6",data);
    strmid(FraktionInfo[f][Rank6],data,0,strlen(data),255);
    mysql_fetch_field("Rank7",data);
    strmid(FraktionInfo[f][Rank7],data,0,strlen(data),255);
    mysql_fetch_field("Rank8",data);
    strmid(FraktionInfo[f][Rank8],data,0,strlen(data),255);
    mysql_fetch_field("Rank9",data);
    strmid(FraktionInfo[f][Rank9],data,0,strlen(data),255);
    mysql_fetch_field("Rank10",data);
    strmid(FraktionInfo[f][Rank10],data,0,strlen(data),255);
    print("load");
    mysql_free_result();
    print("load");
    }
    printf("%d geladen",f);
    }


    Und hier meine Tabellenstruktur


    Kann einer Dort einen Fehler sehen?
    mfg Kavkus

  • Es gibt unterschiede :


    Maximale Länge: varchar 255 / text unbegrenzt
    Indizierbar: varchar Ja / text Nein
    Default Wert: varchar Ja / text Nein
    Als Spalte für ein Group by oder Order by zu benutzen: varchar ja / text nur eingeschränkt


    Das Fehlen einer Indizierbarkeit macht Textfelder für viele Einsatzbereiche unbrauchbar. Ich verwende Textfelder nur als alternatives Blob Format.

  • mysql_fetch_field("Geld",data);
    GivePlayerMoney(playerid,strval(data));
    mysql_fetch_field("Team",data);
    gTeam[playerid]=strval(data);


    Hab das mal im einem Beispiel gesehen und ich mache es mit strval ...