MySQL Query 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
  • Hallo, ich habe folgendes Problem:
    Ich muss während eine Query läuft, noch eine Query abfragen.
    Allerdings funktioniert dies nicht, weil beide Querys gecachet werden.
    Query1:

    SQL
    SELECT * from houses


    Query2:

    SQL
    SELECT * FROM haus_mieter WHERE houseid = %d


    Immer wenn Query2 ausgeführt wird, wird Query1 ignoriert.
    Was ja logisch ist, weil Query2 neu gecachet wird.
    Wie kann ich das Problem lösen? Bei Query2 muss ich eigentlich nur den Count zurückgeben.

  • Führe sie nacheinander aus und speichere den Wert in einer Variable ab.
    Sprich erst den Count auslesen, in einer Variable (Spieler-Variable?) speichern, danach das andere auslesen, im public vom ersten das zweite Query ausführen.

  • Mal ein Pseudocode wie es bei mir ungefähr abläuft:
    public OnGameModeInit()
    {
    format(query, sizeof(query), "SELECT * FROM house");
    mysql_function_query(dbhandle, query, true, "HouseLoad","");
    return 1;
    }


    public HouseLoad()
    cache_get_data(nr,nf);
    for(new i = 0; i < 40; i++)
    {
    Haus[i][Mieter] = GetHouseMieter(i);


    }
    return 1;
    }


    stock GetHouseMieter(id)
    {
    new query[256];
    format(query,sizeof(query),"SELECT * FROM haus_mieter WHERE houseid = %d",id);
    mysql_query(dbhandle, query, true);
    return cache_get_row_count(dbhandle);
    }


    //Erledigt. War nur ein Denkfehler. :dash:

    Einmal editiert, zuletzt von shorttag ()