MySQL 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 Breadfish,


    ich habe heute mein SelfMade auf MySQL umgeschrieben. hat auch alles einwandfrei funtkioniert.
    Als ich es gerade eben versuchen wollte.
    Ging das Login/Register-System nicht.


    Der Server verbindet mit der Datenbank.


    Danke im Vorraus für Hilfe


    xX_Helt_Xx


    Ich verwende die Includes von G-Styleez(+Plugin) und das Vereinfachungsinclude von RFT

  • Ich als SA:MP Ing, kann hier nur raten uns ein paar mehr Infos zur Verfügung zu stellen.


    Poste bitte mal die mysql log file, zudem den Log. Sind dort Fehlermeldungen?

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3x, (C)2005-2013 SA-MP Team


    [21:24:09]
    [21:24:09] Server Plugins
    [21:24:09] --------------
    [21:24:09] Loading plugin: streamer
    [21:24:09]


    *** Streamer Plugin v2.6.1 by Incognito loaded ***


    [21:24:09] Loaded.
    [21:24:09] Loading plugin: sscanf2
    [21:24:09]


    [21:24:09] ===============================


    [21:24:09] sscanf plugin loaded.


    [21:24:09] Version: 2.8.1


    [21:24:09] (c) 2012 Alex "Y_Less" Cole


    [21:24:09] ===============================


    [21:24:09] Loaded.
    [21:24:09] Loading plugin: mysql
    [21:24:09]


    > MySQL plugin R5 successfully loaded.


    [21:24:09] Loaded.
    [21:24:09] Loaded 3 plugins.


    [21:24:09]
    [21:24:09] Filterscripts
    [21:24:09] ---------------
    [21:24:09] Loading filterscript 'Filterscript_Interiors.amx'...
    [21:24:09]
    --------------------------------------
    [21:24:09] ShoX(X) aka. Vegas - Interior Script V.1.1 wurde erfolgreich geladen!
    [21:24:09] --------------------------------------


    [21:24:09] Loading filterscript 'Blitzer.amx'...
    [21:24:09]
    --------------------------------------
    [21:24:09] Blitzersystem - sa-mp.de
    [21:24:09] --------------------------------------


    [21:24:09] Loading filterscript 'Object.amx'...
    [21:24:09]
    --------------------------------------
    [21:24:09] Blank Filterscript by your name here
    [21:24:09] --------------------------------------


    [21:24:09] Loading filterscript 'TD.amx'...
    [21:24:09]
    --------------------------------------
    [21:24:09] Text Draw Editor 1.0RC2 by Zamaroht for SA-MP 0.3 Loaded.
    [21:24:09] --------------------------------------


    [21:24:09] Loading filterscript 'cameditor.amx'...
    [21:24:09]
    --------------------------------------
    [21:24:09] CamEditor by Drebin
    [21:24:09] --------------------------------------


    [21:24:09] Loaded 5 filterscripts.


    [21:24:09] MySql: Verbindung zur Datenbank: gta wird hergestellt...
    [21:24:09] MySql: Verbindung zur Datenbank: gta erfolgreich hergestellt...
    [21:24:09] 2076 Objekte wurden geladen...
    [21:24:09] -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
    [21:24:09] Roleplay-SelfMade
    [21:24:09] v0.0.3a geladen...
    [21:24:09] Copyright by Helti
    [21:24:09] -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
    [21:24:09] Number of vehicle models: 24

  • hast du nen mysql log?

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • Dann stell einfach den Debug an, in dem du mysql_debug(1); nutzt und poste dann hier den Inhalt.


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Wollte gerade kollegen auf den Server drauf lassen, aber es wird kein 2 Spieler gespeichert.
    Ich schick euch mal den gesamten Code des Login-Register System vielleicht kann mir einer helfen.



    public OnPlayerRequestClass(playerid, classid)
    {
    if(mysql_CheckAccount(playerid) == 1) {
    showDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""_Weiß"[GCC] Loginfenster",""_Weiß"Bitte gebe dein Passwort ein","Login","Abbruch");
    InterpolateCameraPos(playerid, 2356.6528, -1742.2469, 142.7728, 1174.76, -1377.98, 150.88, 50000, CAMERA_MOVE);
    InterpolateCameraLookAt(playerid, 1513.8353, -1655.7241, 58.0422, 1513.8353, -1655.7241, 58.0422, 50000, CAMERA_MOVE);
    } else {
    showDialog(playerid,DIALOG_PASSWORT,DIALOG_STYLE_PASSWORD,""_Weiß"[GCC] Registrierung",""_Weiß"Dein Account wurde nicht gefunden.\nBitte erstelle dir nun ein Account indem du hier dein Passwort eingibst.","Weiter","Abbruch");
    InterpolateCameraPos(playerid, 2356.6528, -1742.2469, 142.7728, 1174.76, -1377.98, 150.88, 50000, CAMERA_MOVE);
    InterpolateCameraLookAt(playerid, 1513.8353, -1655.7241, 58.0422, 1513.8353, -1655.7241, 58.0422, 50000, CAMERA_MOVE);
    }

    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid) {
    case DIALOG_LOGIN: {
    if(!response) return kickSpieler(playerid,"Login Abbruch");
    if(response) {
    if(strcmp(inputtext,mysql_ReturnPasswort(SpielerName(playerid)),false))
    {
    showDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""_Weiß"[GCC] Loginfenster",""_Weiß"Bitte gebe dein korrektes Passwort ein","Login","Abbruch");
    return 1;
    }
    else if(strcmp(inputtext,mysql_ReturnPasswort(SpielerName(playerid)),true))
    {
    SpielerLaden(playerid);
    spawnSpieler(playerid);

    }


    }
    }
    case DIALOG_PASSWORT: {
    if(!response) return kickSpieler(playerid,"Registrierungs Abbruch");
    if(response) {
    if(!strlen(inputtext)) {
    showDialog(playerid,DIALOG_PASSWORT,DIALOG_STYLE_PASSWORD,""_Weiß"[GCC] Registrierung",""_Weiß"Dein Account wurde nicht gefunden.\nBitte erstelle dir nun ein Account indem du hier dein Passwort eingibst.","Weiter","Abbruch");
    return 1;
    } else {
    CreateAccount(playerid,inputtext);
    QuizFehler[playerid] = 0;
    sendMessage(playerid,Hellblau,"[Info]: "_Weiß"Du hast dich erfolgreich Registriert.");
    showDialog(playerid,DIALOG_GESCHLECHT,DIALOG_STYLE_LIST,""_Weiß"[GCC] Registrierung - Geschlecht","Männlich\nWeiblich","Weiter","Abbruch");
    }
    }
    }
    stock mysql_CheckAccount(playerid)
    {
    new Query[128],Name[MAX_PLAYER_NAME],count;
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name, Name);
    format(Query, sizeof(Query), "SELECT * FROM `spieler` WHERE `Name` = '%s'", Name);
    mysql_query(Query);
    mysql_store_result();
    count = mysql_num_rows();
    mysql_free_result();
    return count;
    }


    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `spieler` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
    mysql_query(query);
    r_mysql_SetInt("Geld",0);
    r_mysql_SetInt("Level",0);
    r_mysql_SetInt("Levelexp",0);
    r_mysql_SetInt("SkinID",32);
    r_mysql_SetInt("Adminlevel",0);
    r_mysql_SetInt("Geschlecht",0);
    r_mysql_SetInt("Startbonus",0);
    r_mysql_SetInt("SpawnChange",0);
    r_mysql_SetInt("Verwarnungen",0);
    r_mysql_SetInt("Fraktion",0);
    r_mysql_SetInt("Leader",0);
    r_mysql_SetInt("Frakrang",0);
    r_mysql_SetInt("DutySkin",32);
    r_mysql_SetInt("StateDuty",0);
    r_mysql_SetInt("ZeitSeitPayday",0);
    r_mysql_SetInt("Lohn",533);
    r_mysql_SetInt("Fraklohn",0);
    r_mysql_SetInt("Perso",0);
    r_mysql_SetInt("Praxis",0);
    r_mysql_SetInt("Theorie",0);
    r_mysql_SetInt("FSchein",0);
    r_mysql_SetInt("MPraxis",0);
    r_mysql_SetInt("MTheorie",0);
    r_mysql_SetInt("MSchein",0);
    r_mysql_SetInt("HausID",999);
    r_mysql_SetInt("BizzID",999);
    r_mysql_SetInt("Lokal",999);
    r_mysql_SetInt("Job",0);
    r_mysql_SetInt("StateJob",0);
    return true;
    }
    /*stock SpielerRegistrieren()
    {
    new name [MAX_PLAYER_NAME];
    if(r_LoadSQLEntrance("spieler","name",name))
    {
    r_mysql_SetInt("Geld",0);
    r_mysql_SetInt("Level",0);
    r_mysql_SetInt("Levelexp",0);
    r_mysql_SetInt("Skin",32);
    r_mysql_SetInt("Adminlevel",0);
    r_mysql_SetInt("Geschlecht",0);
    r_mysql_SetInt("Startbonus",0);
    r_mysql_SetInt("SpawnChange",0);
    r_mysql_SetInt("Verwarnungen",0);
    r_mysql_SetInt("Fraktion",0);
    r_mysql_SetInt("Leader",0);
    r_mysql_SetInt("Frakrang",0);
    r_mysql_SetInt("DutySkin",32);
    r_mysql_SetInt("StateDuty",0);
    r_mysql_SetInt("ZeitSeitPayday",0);
    r_mysql_SetInt("Lohn",533);
    r_mysql_SetInt("Fraklohn",0);
    r_mysql_SetInt("Perso",0);
    r_mysql_SetInt("Praxis",0);
    r_mysql_SetInt("Theorie",0);
    r_mysql_SetInt("FSchein",0);
    r_mysql_SetInt("MPraxis",0);
    r_mysql_SetInt("MTheorie",0);
    r_mysql_SetInt("MSchein",0);
    r_mysql_SetInt("HausID",999);
    r_mysql_SetInt("BizzID",999);
    r_mysql_SetInt("Lokal",999);
    r_mysql_SetInt("Job",0);
    r_mysql_SetInt("StateJob",0);
    r_UnloadSQLEntrance();
    }
    }*/


    stock mysql_ReturnPasswort(Name[])
    {
    new query[130], Get[130];
    mysql_real_escape_string(Name, Name);
    format(query, 128, "SELECT `passwort` FROM `spieler` WHERE `Name` = '%s'", Name);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }




    stock SpielerLaden(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(r_LoadSQLEntrance("spieler","name",name))
    {
    giveMoney(playerid,r_mysql_GetInt("Geld"));
    setLevel(playerid,r_mysql_GetInt("Level"));
    SpielerInfo[playerid][Levelexp] = r_mysql_GetInt("Levelexp");
    setSkin(playerid, r_mysql_GetInt("Skin"));
    SpielerInfo[playerid][Adminlevel] = r_mysql_GetInt("Adminlevel");
    SpielerInfo[playerid][Geschlecht] = r_mysql_GetInt("Geschlecht");
    SpielerInfo[playerid][Startbonus] = r_mysql_GetInt("Startbonus");
    SpielerInfo[playerid][SpawnChange] = r_mysql_GetInt("SpawnChange");
    SpielerInfo[playerid][Verwarnungen] = r_mysql_GetInt("Verwarnungen");
    SpielerInfo[playerid][Fraktion] = r_mysql_GetInt("Fraktion");
    SpielerInfo[playerid][Leader] = r_mysql_GetInt("Leader");
    SpielerInfo[playerid][Frakrang] = r_mysql_GetInt("Frakrang");
    SpielerInfo[playerid][DutySkin] = r_mysql_GetInt("DutySkin");
    SpielerInfo[playerid][StateDuty] = r_mysql_GetInt("StateDuty");
    SpielerInfo[playerid][ZeitSeitPayday] = r_mysql_GetInt("ZeitSeitPayday");
    SpielerInfo[playerid][Lohn] = r_mysql_GetInt("Lohn");
    SpielerInfo[playerid][Fraklohn] = r_mysql_GetInt("Fraklohn");
    SpielerInfo[playerid][Perso] = r_mysql_GetInt("Perso");
    SpielerInfo[playerid][Praxis] = r_mysql_GetInt("Praxis");
    SpielerInfo[playerid][Theorie] = r_mysql_GetInt("Theorie");
    SpielerInfo[playerid][FSchein] = r_mysql_GetInt("FSchein");
    SpielerInfo[playerid][MPraxis] = r_mysql_GetInt("MPraxis");
    SpielerInfo[playerid][MTheorie] = r_mysql_GetInt("MTheorie");
    SpielerInfo[playerid][MSchein] = r_mysql_GetInt("MSchein");
    SpielerInfo[playerid][HausID] = r_mysql_GetInt("HausID");
    SpielerInfo[playerid][BizzID] = r_mysql_GetInt("BizzID");
    SpielerInfo[playerid][Lokal] = r_mysql_GetInt("Lokal");
    SpielerInfo[playerid][Job] = r_mysql_GetInt("Job");
    SpielerInfo[playerid][StateJob] = r_mysql_GetInt("StateJob");
    printf("Die Spielerdaten von Spieler %s wurde erfolgreich geladen.",SpielerName(playerid));
    r_UnloadSQLEntrance();

    }
    }



    stock SpielerSpeichern(playerid)
    {

    new name [MAX_PLAYER_NAME];
    if(r_LoadSQLEntrance("spieler","name",name))
    {
    r_mysql_SetInt("Geld",getMoney(playerid));
    r_mysql_SetInt("Level",getLevel(playerid));
    r_mysql_SetInt("Levelexp",SpielerInfo[playerid][Levelexp]);
    r_mysql_SetInt("Skin",getSkin(playerid));
    r_mysql_SetInt("Adminlevel",SpielerInfo[playerid][Adminlevel]);
    r_mysql_SetInt("Geschlecht",SpielerInfo[playerid][Geschlecht]);
    r_mysql_SetInt("Startbonus",SpielerInfo[playerid][Startbonus]);
    r_mysql_SetInt("SpawnChange",SpielerInfo[playerid][SpawnChange]);
    r_mysql_SetInt("Verwarnungen",SpielerInfo[playerid][Verwarnungen]);
    r_mysql_SetInt("Fraktion",SpielerInfo[playerid][Fraktion]);
    r_mysql_SetInt("Leader",SpielerInfo[playerid][Leader]);
    r_mysql_SetInt("Frakrang",SpielerInfo[playerid][Frakrang]);
    r_mysql_SetInt("DutySkin",SpielerInfo[playerid][DutySkin]);
    r_mysql_SetInt("StateDuty",SpielerInfo[playerid][StateDuty]);
    r_mysql_SetInt("ZeitSeitPayday",SpielerInfo[playerid][ZeitSeitPayday]);
    r_mysql_SetInt("Lohn",SpielerInfo[playerid][Lohn]);
    r_mysql_SetInt("Fraklohn",SpielerInfo[playerid][Fraklohn]);
    r_mysql_SetInt("Perso",SpielerInfo[playerid][Perso]);
    r_mysql_SetInt("Praxis",SpielerInfo[playerid][Praxis]);
    r_mysql_SetInt("Theorie",SpielerInfo[playerid][Theorie]);
    r_mysql_SetInt("FSchein",SpielerInfo[playerid][FSchein]);
    r_mysql_SetInt("MPraxis",SpielerInfo[playerid][MPraxis]);
    r_mysql_SetInt("MTheorie",SpielerInfo[playerid][MTheorie]);
    r_mysql_SetInt("MSchein",SpielerInfo[playerid][MSchein]);
    r_mysql_SetInt("HausID",SpielerInfo[playerid][HausID]);
    r_mysql_SetInt("BizzID",SpielerInfo[playerid][BizzID]);
    r_mysql_SetInt("Lokal",SpielerInfo[playerid][Lokal]);
    r_mysql_SetInt("Job",SpielerInfo[playerid][Job]);
    r_mysql_SetInt("StateJob",SpielerInfo[playerid][StateJob]);
    printf("Die Spielerdaten von Spieler %s wurde in der Datenbank gespeichert.",SpielerName(playerid));
    r_UnloadSQLEntrance();



    }
    }





    Spoiler anzeigen
    [13:35:30] ---------------------------

    Spoiler anzeigen
    [13:35:30] MySQL Debugging activated (03/26/13)

    Spoiler anzeigen
    [13:35:30] ---------------------------

    Spoiler anzeigen
    [13:35:30]

    Spoiler anzeigen
    [13:36:13] >> mysql_real_escape_string( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:13] CMySQLHandler::EscapeString(Vanillekeks); - Escaped 11 characters to Vanillekeks.

    Spoiler anzeigen
    [13:36:13] >> mysql_query( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:13] CMySQLHandler::Query(SELECT * FROM `spieler` WHERE `Name` = 'Vanillekeks') - Successfully executed.

    Spoiler anzeigen
    [13:36:13] >> mysql_store_result( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:13] CMySQLHandler::StoreResult() - Result was stored.

    Spoiler anzeigen
    [13:36:13] >> mysql_num_rows( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:13] CMySQLHandler::NumRows() - Returned 0 row(s)

    Spoiler anzeigen
    [13:36:13] >> mysql_free_result( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:13] CMySQLHandler::FreeResult() - Result was successfully free'd.

    Spoiler anzeigen
    [13:36:19] >> mysql_real_escape_string( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:19] CMySQLHandler::EscapeString(Vanillekeks); - Escaped 11 characters to Vanillekeks.

    Spoiler anzeigen
    [13:36:19] >> mysql_real_escape_string( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:19] CMySQLHandler::EscapeString(test123); - Escaped 9 characters to test123.

    Spoiler anzeigen
    [13:36:19] >> mysql_query( Connection handle: 1 )

    Spoiler anzeigen
    [13:36:19] CMySQLHandler::Query(INSERT INTO `spieler` (`Name`, `Passwort`) VALUES ('Vanillekeks', 'test123')) - An error has occured. (Error ID: 1062, Duplicate entry '0' for key 'PRIMARY')


    PS:MySQL Debug ist drinne