MySQL

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Guten Tag,
    ich hab angefangen mich mit MySQL auseinanderzusetzen und bräuchte Hilfe bei der Abfrage von Daten. Welche Funktion bräuchte ich dazu ?
    Ich benutze das MySQL Plugin R4 von G-sTyLeZzZ aus dem englischen Forum.
    Falls mir einer helfen kann wär ich sehr dankbar :)


    MFG
    TheBlackMichi

  • Danke sehr :)
    Jetzt hab ich:

    mysql_query("SELECT * FROM players");


    Wie schaffe ich es jetzt das aus der Tabelle "players " "Level" ausgelesen und in eine Variable wie Spieler[playerid][level] geschrieben wird ?
    Wär euch echt dankbar :)

  • Danke für das Plugin Grex :)
    Es geht leider immer noch nicht D: (Es connectet aber der Server stürzt dannach ab)
    Hier ein Ausschnitt aus der Log:

    Code
    [Mon Aug 23 15:08:24 2010] Connected (0) to root @ localhost via TCP/IP.
    [Mon Aug 23 15:08:24 2010] MySQL Version 5.1.41.
    [Mon Aug 23 15:08:25 2010] Connected (1) to root @ localhost via TCP/IP.
    [Mon Aug 23 15:08:25 2010] MySQL Version 5.1.41.
    [Mon Aug 23 15:08:25 2010] Error (1): Function: mysql_store_result called when no prior successful query executed.
    [Mon Aug 23 15:08:25 2010] Error (1): Function: mysql_store_result called when no result stored.


    Und hier der Code:
    forward gmtext();
    public gmtext()
    {
    new MySQL:con = mysql_init(LOG_ONLY_ERRORS, 1);
    mysql_connect("localhost", "root", "PW ZENSIERT", "tbm", con);
    mysql_query("SELECT * FROM `gamemodeinit`");
    mysql_store_result(con);
    new text[100];
    mysql_fetch_field("gmtext", text, con);
    SetGameModeText(text);
    return 1;
    }


    //EDIT: Fehler behoben :)
    Ich hab jetzt aber ein Login/Register Script und wenn ich mich einlogge kommt der Fehler:

    Code
    Error (0): Failed to exeute query. Unknown column 'TheBlackMichi' in 'where clause'.


    Der Script:

    new query[100];
    format(query, 100, "SELECT * FROM players WHERE `name`=`%s`", GetPName(playerid));
    while(mysql_query(query))
    {


    Ich wär demjenigen dankbar der mir helfen könnte :)


    //Edit2: Das hab ich auch geschafft oO
    Jetzt hab ich aber noch ein Problem
    Error

    Code
    [Mon Aug 23 19:35:57 2010] Error (0): Failed to exeute query. Commands out of sync; you can't run this command now.
    [Mon Aug 23 19:36:00 2010] Error (0): Failed to exeute query. Commands out of sync; you can't run this command now.


    Code
    new query[100];
    format(query, 100, "INSERT INTO players VALUES('', '%s', '%s', '1', '0', '2500', '2500', '0', '0', '0', '%d', '0', '0')", GetPName(playerid), passw, random(9999));
    while(mysql_query(query))
    {
    OnPlayerLogin(playerid, passw);
    }
    und wahrscheinlich auch noch

    format(query, 100, "SELECT * FROM players WHERE `pw`='%s'", passw);
    while(mysql_query(query))
    {


    Danke schonmal im Vorraus :)

  • format(query, 100, "INSERT INTO players VALUES('', '%s', '%s', '1', '0', '2500', '2500', '0', '0', '0', '%d', '0', '0')", GetPName(playerid), passw, random(9999)); Falsch.
    Richtig:
    format(query, 100, "INSERT INTO players (feldname,feldname,feldname,feldname,feldname,feldname,feldname,feldname,feldname,feldname,feldname,feldname,feldname) VALUES('', '%s', '%s', '1', '0', '2500', '2500', '0', '0', '0', '%d', '0', '0')", GetPName(playerid), passw, random(9999));


    z.b.


    format(query, 100, "INSERT INTO players (Username,Password,Logged,Level,Geld,Bank,X,Y,Z,Bla,Blub,Blub) VALUES('%s', '%s', '1', '0', '2500', '2500', '0', '0', '0', '%d', '0', '0')", GetPName(playerid), passw, random(9999));