Problem mit MySQL Query

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
  • Hi,
    kann mir jmd. sagen wie ich das richtig mache, da der query2 nicht gespeichert wird, nur der erste teil.
    Hoffe jmd. kann mir helfen :P


    Also ab new query2[1000];
    /******************************************************
    Diese Funktion speichert die Fraktionen und deren Daten
    *******************************************************/
    stock SaveFraktionen()
    {
    mysql_query("SELECT * FROM `"Tabelle_Fraktionen"`");
    mysql_store_result();
    while(mysql_retrieve_row())
    {
    new query[2000],tmp[50];
    mysql_fetch_field_row(tmp,"id");
    new id = strval(tmp);
    format(query, sizeof(query), "UPDATE "Tabelle_Fraktionen" SET frakname='%s',fraktionskasse='%d',rangname1='%s',rangname2='%s',rangname3='%s',rangname4='%s',rangname5='%s',rangnameleader='%s',rang1_gehalt='%d',rang2_gehalt='%d',rang3_gehalt='%d',rang4_gehalt='%d',rang5_gehalt='%d',rangleader_gehalt='%d',spawninterior='%d',spawnvw='%d',spawnpos_x='%f',spawnpos_y='%f',spawnpos_z='%f'\
    ,rang1_skin='%d',rang2_skin='%d',rang3_skin='%d',rang4_skin='%d',rang5_skin='%d',rangleader_skin='%d' WHERE id='%d'",
    FraktionInfo[id][pFraktionsname],FraktionInfo[id][pFraktionskasse],FraktionInfo[id][pRangname1],FraktionInfo[id][pRangname2],FraktionInfo[id][pRangname3],FraktionInfo[id][pRangname4],FraktionInfo[id][pRangname5],FraktionInfo[id][pRangnameLeader],FraktionInfo[id][pRang1_Gehalt],FraktionInfo[id][pRang2_Gehalt],FraktionInfo[id][pRang3_Gehalt],FraktionInfo[id][pRang4_Gehalt],FraktionInfo[id][pRang5_Gehalt],FraktionInfo[id][pRangLeader_Gehalt],
    FraktionInfo[id][pSpawnInterior],FraktionInfo[id][pSpawnVirtualWorld],FraktionInfo[id][pSpawnPosX],FraktionInfo[id][pSpawnPosY],FraktionInfo[id][pSpawnPosZ],FraktionInfo[id][pRang1_Skin],FraktionInfo[id][pRang2_Skin],FraktionInfo[id][pRang3_Skin],FraktionInfo[id][pRang4_Skin],FraktionInfo[id][pRang5_Skin],FraktionInfo[id][pRangLeader_Skin],id);
    mysql_query(query);

    new query2[1000];
    format(query2, sizeof(query2), "UPDATE "Tabelle_Fraktionen" SET eingangpos_x='%f',eingangpos_y='%f',eingangpos_z='%f',ausgangpos_x='%f',ausgangpos_y='%f',ausgangpos_z='%f'",FraktionInfo[id][pEingangPosX],FraktionInfo[id][pEingangPosY],FraktionInfo[id][pEingangPosZ],FraktionInfo[id][pAusgangPosX],FraktionInfo[id][pAusgangPosY],FraktionInfo[id][pAusgangPosZ],id);
    mysql_query(query2);
    }
    printf("<-| [ Server ] Die Fraktionen wurden gespeichert!");
    mysql_free_result();
    }


    Lg

  • Das du auch alles in einem Rutsch machen könntest,ist dir sicherlich bewusst.
    Dennoch, im 2. SQL Kommando hast du keine WHERE Bedingung. Eventuell meinst du ja das mit "da der query2 nicht gespeichert wird". Denn vom Prinzip ist ein UPDATE auch ohne WHERE möglich.
    Sonst gibt es immernoch ein Log,die den Fehler ausspuchen müsste. Notfalls gibst du per print() den String aus und probierst es manuell an der MySQL Datenbank aus.


    Spoiler anzeigen
    Die Strings würde ich auch außerhalb der while-Schleife erstellen.

  • Alles in ein query hab ich versucht aber komm dort nicht elweiter, ich mach des später mal, danke


    Lg

  • :huh:
    Tut mir leid, aber ich kann dir nicht folgen.


    Er speichert bzw. Updatet doch alles, nur der inhalt von query2 nicht, ich versuch den später in query einzubinden :)

  • :huh:
    Tut mir leid, aber ich kann dir nicht folgen.


    Er speichert bzw. Updatet doch alles, nur der inhalt von query2 nicht, ich versuch den später in query einzubinden :)


    Okay, wie soll er denn da was speichern ohne ID?


    format(query2, sizeof(query2), "UPDATE "Tabelle_Fraktionen" SET eingangpos_x='%f',eingangpos_y='%f',eingangpos_z='%f',ausgangpos_x='%f',ausgangpos_y='%f',ausgangpos_z='%f'",FraktionInfo[id][pEingangPosX],FraktionInfo[id][pEingangPosY],FraktionInfo[id][pEingangPosZ],FraktionInfo[id][pAusgangPosX],FraktionInfo[id][pAusgangPosY],FraktionInfo[id][pAusgangPosZ],id);


    Du gibst zwar eine ID an, aber kein: WHEHRE `FrakID` = %d
    ?(


    //E Und wenn du das mit dem 1. Query zusammen tun willst, denn brauchst du strcat oder du machst nen Zeilenumbruch.


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

  • Fuuuuuuuu >. <


    Danke! Jetzt seh ich es auch -_-
    Muss jetzt zur Schule, ich teste es später


    Lg :)