SQL fehler bitte helfen :=

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 :)


    sieht jemand hier den fehler? Hat nen syntax error, suche den schon 1h aber sehe einfach keinen fehler :/



    mysql_format(mysql, query, sizeof(query), "UPDATE `Spieler` SET `IP`=%s, `Admin`=%d, `Kills`=%d, `Deaths`=%d, `Geld`=%d, `Personalausweis`=%d, `Persotimer`=%d, `Ptimerstart`=%d WHERE `ID`=%d",\
    IP[playerid], pData[playerid][Admin], pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Money], pData[playerid][Personalausweis], pData[playerid][Persotimer], pData[playerid][Ptimerstart], pData[playerid][ID]);


    mysql_tquery(mysql, query, "", "");


    danke

  • Schreibe das mal in den PAWN Quellcode bitte


    Probiere es mal so:


    Code
    mysql_format(mysql, query, sizeof(query), "UPDATE `Spieler` SET `IP`=%i, `Admin`=%i, `Kills`=%i, `Deaths`=%i, `Geld`=%i, `Personalausweis`=%i, `Persotimer`=%i, `Ptimerstart`=%i WHERE `ID`=%i",\
    IP[playerid], pData[playerid][Admin], pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Money], pData[playerid][Personalausweis], pData[playerid][Persotimer], pData[playerid][Ptimerstart], pData[playerid][ID]);
  • Hast du es so probiert?


    Code
    mysql_format(mysql, query, sizeof(query), "UPDATE `Spieler` SET `IP`=%s, `Admin`=%i, `Kills`=%i, `Deaths`=%i, `Geld`=%i, `Personalausweis`=%i, `Persotimer`=%i, `Ptimerstart`=%i WHERE `ID`=%i",\
    IP[playerid], pData[playerid][Admin], pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Money], pData[playerid][Personalausweis], pData[playerid][Persotimer], pData[playerid][Ptimerstart], pData[playerid][ID]);
  • Hast du es so probiert?


    Code
    mysql_format(mysql, query, sizeof(query), "UPDATE `Spieler` SET `IP`=%s, `Admin`=%i, `Kills`=%i, `Deaths`=%i, `Geld`=%i, `Personalausweis`=%i, `Persotimer`=%i, `Ptimerstart`=%i WHERE `ID`=%i",\
    IP[playerid], pData[playerid][Admin], pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Money], pData[playerid][Personalausweis], pData[playerid][Persotimer], pData[playerid][Ptimerstart], pData[playerid][ID]);


    [15:02:40] [DEBUG] mysql_format - connection: 1, len: 512, format: "UPDATE `Spieler` SET `IP`=%i, `Admin`=%i, `Kills`=%i, `Deaths`=%i, `Geld`=%i, `Personalausweis`=%i, `Persotimer`=%i, `Ptimerstar..."
    [15:02:40] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Spieler` SET `IP`=50, `Admin`=0, `Kills`=0, `Deaths`=0, ", callback: "(null)", format: "(null)"
    [15:02:40] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [15:02:40] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.397 milliseconds
    [15:02:40] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving


    will nicht so richtig


  • stock SavePlayerData(playerid)
    {
    new query[512];
    mysql_format(mysql, query, sizeof(query), "UPDATE `Spieler` SET `IP`=%i, `Admin`=%i, `Kills`=%i, `Deaths`=%i, `Geld`=%i, `Personalausweis`=%i, `Persotimer`=%i, `Ptimerstart`=%i WHERE `ID`=%i",\
    IP[playerid], pData[playerid][Admin], pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Money], pData[playerid][Personalausweis], pData[playerid][Persotimer], pData[playerid][Ptimerstart], pData[playerid][ID]);
    mysql_tquery(mysql, query, "", "");


    }




    pData[playerid][ID] = cache_insert_id();
    pData[playerid][Admin] = cache_get_field_content_int(0, "Admin");
    pData[playerid][Money] = cache_get_field_content_int(0, "Geld");
    pData[playerid][Kills] = cache_get_field_content_int(0,"Kills");
    pData[playerid][Deaths] = cache_get_field_content_int(0, "Deaths");
    pData[playerid][Personalausweis] = cache_get_field_content_int(0, "Personalausweis");
    pData[playerid][Persotimer] = cache_get_field_content_int(0, "Persotimer");


    pData[playerid][Ptimerstart] = cache_get_field_content_int(0, "Ptimerstart");



    DBSQL

  • was meinst du damit? Die Funktionen der Felder sind im überall im script verteilt.


    Personalausweis 0 / 1 , false , true
    Persotimer 0 = finish = 60 default timer countdown
    Ptimerstart 0/1 false, true

  • Okay, ... also


    Code
    stock SavePlayerData(playerid)
    {
    new query[512];
    mysql_format(mysql, query, sizeof(query), "UPDATE `Spieler` SET `IP`=%i, `Admin`=%i, `Kills`=%i, `Deaths`=%i, `Geld`=%i, `Personalausweis`=%i, `Persotimer`=%i, `Ptimerstart`=%i WHERE `ID`=%i",\
    IP[playerid], pData[playerid][Admin], pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Money], pData[playerid][Personalausweis], pData[playerid][Persotimer], pData[playerid][Ptimerstart], pData[playerid][ID]);
    mysql_tquery(mysql, query, false, "", "");
    }

    So sollte es gehen

  • error 035: argument type mismatch (argument 3)
    mysql_tquery(mysql, query, false, "", "");


    (connectionHandle, query[], callback[] = "", format[] = "", {Float,_}:...)


    entspricht nicht der definition
    aber ich probiers mal ohne tquery mit query
    mysql_query(mysql, query, false); will ja kein callback

  • Was klappt denn nun nicht? Der Timer oder dein Syntaxfehler?


    Code
    [15:02:40] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [15:02:40] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.397 milliseconds


    Der Query wird doch ausgeführt, also sollte da auch kein Fehler sein.