[MYSQL R5]Fraktions Kassen Problem

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
  • code:


    Laden:


    Spoiler anzeigen
    stock LoadFraktionen()
    {
    frakkasse[BallasKasse] = mysql_GetFrakInt("fraktionskasse", "Ballas");
    frakkasse[NRKasse] = mysql_GetFrakInt("fraktionskasse", "NewReporter");
    frakkasse[OamtKasse] = mysql_GetFrakInt("fraktionskasse", "OrdnungsAmt");
    return 1;
    }


    Speichern:


    Spoiler anzeigen
    stock SaveFraktionen()
    {
    mysql_SetFrakInt("fraktionskasse", "Ballas", frakkasse[BallasKasse]);
    mysql_SetFrakInt("fraktionskasse", "NewReporter", frakkasse[NRKasse]);
    mysql_SetFrakInt("fraktionskasse", "OrdnungsAmt", frakkasse[OamtKasse]);
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Da nichts gespeichert wird, wäre der Code von der Funktion "mysql_GetFrakInt" und von "mysql_SetFrakInt" interessant ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hir bitteschön:


    Spoiler anzeigen
    stock mysql_GetFrakInt(Table[], Field[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE 1", Field, Table);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }
    stock mysql_SetFrakInt(Table[], Field[], To)
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d WHERE 1'", Table, Field, To);
    mysql_query(query);
    return true;
    }


    mfg :)

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Ja, kein Wunder das da nichts passiert :D


    Zunächst mal, möchte ich dir kurz etwas erklären:

    Code
    mysql_real_escape_string


    Diese Funktion benötigt man nur, wenn man Wörter eingibt die solche Zeichen enthalten könnten:

    Code
    \' "/


    Da du aber alles manuell eingibst, benötigst du das gar nicht ^^


    Aber das ist ja nicht so schlimm, dein Fehler liegt hier:


    Zitat

    WHERE 1


    Das ist ein SQL-Statement welches Abfragt, in welcher Zeile in der Tabelle eine bestimmte Variable diesen Wert hat.
    und wenn man da nur 1 hinschreibt, weiß SQL natürlich nicht welche Variable sie nehmen soll.
    Deshalb erstelle in deiner Tabelle ein Feld namens "id" und klicke auf "Auto_Increment".
    und dann schreibe es so:


    SQL
    WHERE id='1'


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich habe es jetzt so aber speichert immer noch ner ;(



    hir:


    Spoiler anzeigen
    stock mysql_GetFrakInt(Table[], Field[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE id=`1`", Field, Table);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }
    stock mysql_SetFrakInt(Table[], Field[], To)
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "UPDATE `%s` SET `%s` = `%d` WHERE id=`1`", Table, Field, To);
    mysql_query(query);
    return true;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • //edit:
    3 Sachen:


    • Hast du die Spalte id in der Tabelle erstellt :huh:
    • Du hast geschrieben:

      SQL
      id=`1`


      Das ist falsch, es muss so heißen:

      SQL
      id='1'


    • und bei:

      SQL
      `%s` = `%d`


      muss es auch so heißen:

      SQL
      `%s` = '%d'



    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich habe es jetzt so un es speichert immer noch net ab ;(


    hir:


    Spoiler anzeigen
    stock mysql_GetFrakInt(Table[], Field[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE id='1'", Field, Table);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }
    stock mysql_SetFrakInt(Table[], Field[], To)
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "UPDATE `%s` SET '%s' = '%d' WHERE id='1'", Table, Field, To);
    mysql_query(query);
    return true;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Ist es wirklich so schwer abzuschreiben :huh:


    Vergleich mal unsere beiden Zeilen:


    `%s` = '%d' //meine


    '%s' = '%d' //deine


    :rolleyes:


    Zu meiner 1. Frage bitte noch eine Antwort und schauen pls ob id auch den Wert 1 hat ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S