mysql tabelle auslesen

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 wollte mein Bizzsystem von INI auf MySQL umändern doch irgendwie naja klappt es nicht..
    Ich möchte gerne wissen ob dies richtig sei.


    public LoadBizz()
    {
    new idx;
    for(; idx < MAX_Bizz;)
    {
    new string[128];
    format(string,sizeof(string),"SELECT * FROM bizz WHERE bID = '%d'",idx);
    mysql_query(string);
    mysql_store_result();
    new result[50];
    while(mysql_fetch_row()) //this will be running until all rows are processed
    {
    mysql_fetch_field_row("bOwned", BizzInfo[idx][bOwned]);
    mysql_fetch_field_row("bEntranceX", result);
    BizzInfo[idx][bEntranceX] = floatstr(result);
    mysql_fetch_field_row("bEntranceY", result);
    BizzInfo[idx][bEntranceY] = floatstr(result);
    mysql_fetch_field_row("bEntranceZ", result);
    BizzInfo[idx][bEntranceZ] = floatstr(result);
    mysql_fetch_field_row("bExitX", result);
    BizzInfo[idx][bExitX] = floatstr(result);
    mysql_fetch_field_row("bExitY", result);
    BizzInfo[idx][bExitY] = floatstr(result);
    mysql_fetch_field_row("bExitZ", result);
    BizzInfo[idx][bExitZ] = floatstr(result);
    mysql_fetch_field_row("bLevelNeeded", BizzInfo[idx][bLevelNeeded]);
    mysql_fetch_field_row("bBuyPrice", BizzInfo[idx][bBuyPrice]);
    mysql_fetch_field_row("bEntranceCost", BizzInfo[idx][bEntranceCost]);
    mysql_fetch_field_row("bTill", BizzInfo[idx][bTill]);
    mysql_fetch_field_row("bLocked", BizzInfo[idx][bLocked]);
    mysql_fetch_field_row("bInterior", BizzInfo[idx][bInterior]);
    mysql_fetch_field_row("bProducts", BizzInfo[idx][bProducts]);
    mysql_fetch_field_row("bMaxProducts", BizzInfo[idx][bMaxProducts]);
    mysql_fetch_field_row("bPriceProd", BizzInfo[idx][bPriceProd]);


    printf("BizzInfo:%d Owner:%s Message:%s Entfee:%d Till:%d Products:%d/%d Interior:%d.",
    idx,
    BizzInfo[idx][bOwner],
    BizzInfo[idx][bMessage],
    BizzInfo[idx][bEntranceCost],
    BizzInfo[idx][bTill],
    BizzInfo[idx][bProducts],
    BizzInfo[idx][bMaxProducts],
    BizzInfo[idx][bInterior]);
    idx++;
    }
    }
    print("string");
    return 1;
    }



    MFG GamerXIOS ♥

  • Ob es richtig ist oder nicht erkennst du doch schon daran,ob die printf Zeile alle Daten korrekt ausgibt.


    Es dürfte funktionieren, du machst es dennoch total umständlich.
    Die while Schleife brauchst du so gar nicht,da du sowieso ( Ich gehe sehr stark davon aus,dass bID einzigartig ist und auto_increment hat ) nur eine Zeile als Ergebnis bekommst.
    Ein mysql_free_result könnte auch nicht Schaden, du leerst nämlich nie den Speicher ( nach der while Schleife bzw nach dem auslesen ).


    mysql_query("SELECT * FROM bizz");
    mysql_store_result();
    while(mysql_fetch_row()) {
    // ..
    }
    mysql_free_result();// <- bin nicht sicher ob die Funktion so heisst. Ist ja bei jedem Plugin anders.
    Bringt das gleiche und sieht definitiv einfacher aus,oder ;) ?