Insert Into im Stock aufrufen, printed falsch

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
  • Hab mal wieder nen Problem im Stock:



    stock InsMe()
    {
    new str[128];
    format(str,sizeof(str), "INSERT INTO `InsTable`(`Name`, `Beispiel`)VALUES('%s', '%s')",name,beispiel);
    printf("%s",str);
    db_query(InsDB,str);
    }


    Wenn ich den Stock jetzt aber zB mit: InsMe(); aufrufe, kommt statt den werten bei %s garnix.


    Also der printf sieht so aus:


    "Insert Into `InsTable`(`Name`,`Beispiel`)VALUES('', '')";
    Eigentlich sollte da:
    "Insert Into `InsTable`(`Name`, `Beispiel`)VALUES('BOMBER', 'BeispielValue')";


    Rauskommen.


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • dann ist name und beispiel ganz einfach leer ;) Der Fehler liegt nicht am "stock"


    Nein, name > GetPlayerName(playerid,name,sizeof(name));


    Das war ja nur ein Beispiel stock.


    Habe schon den Name und sowas ausgelesen, aber printed trotzdem falsch.



    new str[256],name[MAX_PLAYER_NAME+1]; //Str 256 ist nur n Beispiel.
    GetPlayerName(playerid,name,sizeof(name)); //Name getten
    format(str,sizeof(str), "INSERT INTO `Tablename`(`Name`)VALUES('%s')",DB_Escape(name)); //Also hier hab ich den Namen denn escaped.
    db_query(FiktivDB,str); //Hier den SQL Table in der DB ausführen.
    printf("%s",str); //Hier den String in die Konsole printen.


    Printf:


    "Insert Into `Tablename`(`Name`)VALUES('')" //Das kommt am ende raus. :(


    Achso und der Stock wird eig. mit InsMe(playerid); //Also für wen der aufgerufen wird. ausgeführt. (Oben war nur ein Stock Beispiel)


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • DB_Escape(name)


    Leider kein Erfolg, nach dem ich den Namen nicht escape.


    [23:22:26] INSERT INTO `Tablename`(`Wert1`, `Wert2`, `Wert3`)VALUES('', '', '')


    So hab ichs formatiert:


    format(str,sizeof(str), "INSERT INTO `Tablename`(`Wert1`, `Wert2`, `Wert3`)VALUES('%s', '%s', '%s')",Wert1,Wert2,Wert3);
    db_query(DB,str);


    Was evtl. wichtig zu wissen wäre, dass ich den Stock in eine Include geschrieben habe. :D


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!