Problem mit Msql.

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 Leute,


    ich habe ein kleines Problem mit einer Tabelle in Mysql.


    Und zwar lasse ich mit folgenden Stock Privatfarzeuge erstellen:
    stock CreatePlayerVehicle(playerid, model, Float:posx, Float:posy, Float:posz, Float:posa)
    {
    new query[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    mysql_real_escape_string(name,name);
    format(query, sizeof(query), "INSERT INTO `privatfahrzeuge` (`Model`, `Besitzer`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%s', '%d', '%f', '%f', '%f', '%f')", model, name, Float:posx, Float:posy, Float:posz, Float:posa);
    mysql_query(query);
    return true;
    }


    Diesen Stock rufe ich im Autohaus auf, wenn ein Spieler sich dazu beschließt ein Fahrzeug zu kaufen.



    Das Problem hierbei ist aber, dass dieser Stock nichts in die Tabelle einträgt, wenn er aufgerufen wird.
    Hier der Ausschnitt auf der Datei, "Kennzeichen" soll jedes mal um 1 steigen, sodass es jedes Kennzeichen nur einmal gibt.




    Ich kenn mit damit nicht so gut aus, aber ich vermute das dort irgendwo der Fehler liegt.
    Es wäre nett, wenn mir jemand helfen würde!




    Gruß
    AlphaGen!

    DIVIDE ET IMPERA

  • Ich kann Dir auf jeden Fall sagen das das nicht ganz richtig ist...



    stock CreatePlayerVehicle(playerid, model, Float:posx, Float:posy, Float:posz, Float:posa)
    {
    new query[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    mysql_real_escape_string(name,name);
    format(query, sizeof(query), "INSERT INTO `privatfahrzeuge` (`Model`, `Besitzer`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%s', '%d', '%f', '%f', '%f', '%f')", model, name, Float:posx, Float:posy, Float:posz, Float:posa);
    mysql_query(query);
    return true;
    }
    Du gibst als ersten Value einen String an...
    Wobei Model in Deiner Tabelle ein Integer ist..


    So wäre es richtig:


    stock CreatePlayerVehicle(playerid, model, Float:posx, Float:posy, Float:posz, Float:posa)
    {
    new query[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    mysql_real_escape_string(name,name);
    format(query, sizeof(query), "INSERT INTO `privatfahrzeuge` (`Model`, `Besitzer`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%d', '%s', '%f', '%f', '%f', '%f')", model, name, posx, posy, posz, posa);
    mysql_query(query);
    return true;
    }



    Vielleicht löst das ja schon Dein Problem.


    Greetz
    #else

  • Danke, nun funktioniert es! :love:


    Irgendwie komme ich mir gerade wieder extrem dämlich vor, ich habe 30 Minuten den Fehler gesucht und ihn nicht gefunden.
    Und Du brauchst gerade mal 5 Minuten dafür. :huh:

    DIVIDE ET IMPERA

  • Hehe, passiert..
    Habs auf den ersten Blick gesehen. ;)


    Ist halt nen Flüchtigkeitsfehler.. Sowas kommt vor.. ;)


    Zitat

    Bei mySQL musste halt immer drauf aufpassen das Du die richtigen Zeichen setzt sonst funktioniert es nicht mehr..