Mysql 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 liebe com.


    Ich arbeite an meinem Selfmade, und will es per MySQL speichern.
    So nun möchte ich etwas aus einer Tabelle auslesen.
    Normaler weise mache ich das so.
    SpielerInfo[playerid][pDienst] = mysql_GetInt("accounts", "Dienst", "Name", SpielerInfo[playerid][pName]);
    Doch Wie soll ich das dann machen wenn ich eine Steuer auslesen will. Die nicht auf Spielern gespeichert werden soll.
    So habe ich es versucht.


    mysql_query("SELECT * FROM `Staat` WHERE `steuer`");
    mysql_free_result();
    new steuer= mysql_fetch_int();


    Doch der wert ist -1 also nicht lesbar.

  • Zum einen benutz nicht das sternchen das bedeutet das alle daten der ganzen reihe genommen werden du brauchst ja nur ein wert
    daher


    mysql_query("SELECT `spaltename` FROM `Staat` WHERE `steuer`");
    der rest passt nur fehlt di rnoch mysql_free_result(); sonst kann sowas zu memoryleaks führen und zur beinträchtigung des plugins.

  • Schonmal ein Danke aber was ist mit Spalten name gemeint?



    Das ganze nennt sich ja auch die Mysql-Tabelle, welche du erstellst da sollte es ja auch logisch sein das ein Spaltenamen gibt du wirst ja wohl in deinem bisherigen Leben bestimmt mal auch eine Tabelle gezeichnet haben und diese auch beschriftet.


    Ein Spaltename wäre Steuer und polizeilohn.

  • Okay das habe ich dann richtig verstanden.


    Aber
    mysql_query("SELECT `spaltename` FROM `Staat` WHERE `Steuer`");
    Steuer kommt schon vor?
    Oder verstehe ich das falsch.


    Bei deinem Momentanen aufbau deiner tabelle brauchst du die WHERE clausel nicht WHERE dient nur dazu die suche der einträge einzugrenzen da damit eine bedingung gestellt wird
    in deinem Fall benötigst du nur


    mysql_query("SELECT `Steuer` FROM `Staat`");


    und somit ziehst du nur 1 ergebniss aus deiner tabelle also den wert 50, welchen du nun auch mit mysql_fetch_int(); verarbeiten kannst.

  • Also wenn ich das Richtig verstehe würde das dann auch so Funktioniere.


    mysql_query("SELECT `Steuer` FROM `Staat`");
    mysql_store_result();
    new steuer= mysql_fetch_int();
    mysql_free_result();


    format(string3,sizeof(string3),"~w~Steuer~w~: ~r~%d~w~$",steuer);
    TextDrawSetString(PayDayAnzeige[playerid][paydaysteuer], string3);
    TextDrawShowForPlayer(playerid, PayDayAnzeige[playerid][paydaysteuer]);


    .Der Pate