MySQL Problem - mysql_SetInt

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
  • Hallo, ich hab ein Problem mit "mysql_SetInt"
    In meinem Script hab ich folgendes stehen:
    mysql_SetInt("fraktionsautos", "ModelID1",modelID, "FraktionsID",Fraktion);
    Doch nun bekomme ich einen Error angezeigt

    Code
    error 035: argument type mismatch (argument 5)


    Was muss ich nun in folgendem Stock ändern, dass ich in Argument 5 keine Zahl in Anführungszeichen sondern auch Variablen eintragen kann?
    Hier der Stock:
    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;
    }


    Gruss
    Joe

  • Das hier Fraktion scheint ein Integer sein, muss aber ein string sein! :)

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • mysql_SetInt("fraktionsautos", "ModelID1",modelID, "FraktionsID",Fraktion);
    Sind Deine Angaben auch alle Strings, die Strings sein sollen?


    Überprüfe das mal.
    Denn ich glaube, bsp. ModelID1 klingt nach einem Integer-Wert und keinem String.

  • mysql_SetInt("fraktionsautos", "ModelID1",modelID, "FraktionsID",Fraktion);


    fraktionsautos = Tabellenname
    ModelID1 = Spalte der Tabelle
    modelID = Model ID des Gangcars (Variable -> Integer)
    FraktionsID = Zeile der Tabelle
    Fraktion = Variable in der die Fraktions ID (Kein Fraktionsname!) gespeichert wird (-> Integer)



    Das Problem was ich nun habe ist, dass er von mir verlangt, dass ich auch bei Argument 5 (wo jetzt "Fraktion" steht)
    Anführungszeichen setze, allerdings wäre es dann keine Variable mehr. Ich kann dort keine 1 2 oder 3 setzen, da sich die Zeile ja immer
    ändert je nachdem was für eine Fraktion man ausgewählt hat.


    Hier mal ein Screen der Tabelle:


    Hier im Stock die Angabe "Where2[]" sollte also auch ohne Anführungszeichen funktionieren, allerdings weiß ich nicht wie ich das mache.
    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;
    }

  • Übertrage deine variable "Fraktion" auf einen String und setzte diesen in deinen Callback ein. In deinem Stock deklarierst du das 5. Argument als String, daher kann das nicht funktionieren, denn:


    Zitat

    Fraktion = Variable in der die Fraktions ID (Kein Fraktionsname!) gespeichert wird (-> Integer)



    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    ...
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    ...


    Where2 = String, da %s ...