MySQL - Fehler

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
  • Ich habe ein Problem mit der Speicherung (MySQL) von meinem Gangwar System:


    Dafür habe ich diesen Stock geschrieben:


    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    Die Speicherung sieht dabei so aus:


    stock SaveZones()
    {
    for(new zid=0; zid<sizeof(Zonen);zid++)
    {
    mysql_SetInt("gangwar","Owner",Zonen[zid][gOwner],"Zone",zid);
    mysql_SetInt("gangwar","Aktiv",Zonen[zid][gOn],"Zone", zid);
    mysql_SetInt("gangwar","Stand1",Zonen[zid][gStand1],"Zone", zid);
    mysql_SetInt("gangwar","Stand2",Zonen[zid][gStand2],"Zone", zid);
    mysql_SetInt("gangwar","Angreifer",Zonen[zid][gAngreifer],"Zone", zid);
    mysql_SetInt("gangwar","Zeit",Zonen[zid][gZeit],"Zone", zid);
    mysql_SetInt("gangwar","Kasse",Zonen[zid][gKasse],"Zone", zid);
    mysql_SetInt("gangwar","Typ",Zonen[zid][gTyp],"Zone", zid);
    mysql_SetInt("gangwar","Capture",Zonen[zid][capture_cd],"Zone", zid);
    mysql_SetFloat("gangwar","MinX",Zonen[zid][gMinX],"Zone", zid);
    mysql_SetFloat("gangwar","MinY",Zonen[zid][gMinY],"Zone", zid);
    mysql_SetFloat("gangwar","MaxX",Zonen[zid][gMaxX],"Zone", zid);
    mysql_SetFloat("gangwar","MaxY",Zonen[zid][gMaxY],"Zone", zid);
    }
    }


    Das Problem ist, dass er die Variable "zid" (also die Schleife der verfügbaren Zonen) anscheind nicht erkennt...


    Muss ich die Schleife anders machen? :O



    Gruß
    Raiffel

    Meine Werke

  • Parameter 5 muss ein Array sein (String).
    stock SaveZones()
    {
    new str[5];
    for(new zid=0; zid<sizeof(Zonen);zid++)
    {
    format(str, sizeof(str), "%d", zid);
    mysql_SetInt("gangwar","Owner",Zonen[zid][gOwner],"Zone",str);
    mysql_SetInt("gangwar","Aktiv",Zonen[zid][gOn],"Zone", str);
    mysql_SetInt("gangwar","Stand1",Zonen[zid][gStand1],"Zone", str);
    mysql_SetInt("gangwar","Stand2",Zonen[zid][gStand2],"Zone", str);
    mysql_SetInt("gangwar","Angreifer",Zonen[zid][gAngreifer],"Zone", str);
    mysql_SetInt("gangwar","Zeit",Zonen[zid][gZeit],"Zone", str);
    mysql_SetInt("gangwar","Kasse",Zonen[zid][gKasse],"Zone", str);
    mysql_SetInt("gangwar","Typ",Zonen[zid][gTyp],"Zone", str);
    mysql_SetInt("gangwar","Capture",Zonen[zid][capture_cd],"Zone", str);
    mysql_SetFloat("gangwar","MinX",Zonen[zid][gMinX],"Zone", str);
    mysql_SetFloat("gangwar","MinY",Zonen[zid][gMinY],"Zone", str);
    mysql_SetFloat("gangwar","MaxX",Zonen[zid][gMaxX],"Zone", str);
    mysql_SetFloat("gangwar","MaxY",Zonen[zid][gMaxY],"Zone", str);
    }
    return 1;
    }