PrivatAuto Erstellung, MySQL Query wird nicht angelegt

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


    ich habe ein Problem mit meiner Privatauto Erstellung. Wenn man sich beim Autohaus ein Auto kauft, soll es natürlich auch erstellt und gespeichert werden,
    jedoch erstellt er keine Query für den User. Ingame erstellt er zwar das Auto und die Numberplate wird auch mit dem jeweiligen Spielernamen versehen, aber wie oben geschrieben, erstellt er keine Query für den jeweiligen Spieler.


    Hier mal der Code:


    public ErstelleSpielerAuto(playerid)
    {
    for(new i = 0; i < sizeof VerkaufeAutos; i++){
    if(GetPlayerVehicleID(playerid) == KaufeAuto[i]){
    new query[256],query2[256],maxquery[512],AutoSpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,AutoSpielerName,sizeof(AutoSpielerName));
    format(query,sizeof(query),"INSERT INTO `privatautos`(`Spielername`,`Name`,`modelid`,`Nummernschild`,`AutoLeben`,`PrivatAutoPosX`,`PrivatAutoPosY`,`PrivatAutoPosZ`,`PrivatAutoPosA`,`Farbe1`,`Farbe2`)VALUES('%s','%s','%i','1000.00','%f','%f','%f','%f','2','2')",AutoSpielerName,VerkaufeAutos[i][Name],VerkaufeAutos[i][modelid],AutoSpielerName,VerkaufeAutos[i][SpawnPosX],VerkaufeAutos[i][SpawnPosY],VerkaufeAutos[i][SpawnPosZ],VerkaufeAutos[i][SpawnPosA]);
    format(query2,sizeof(query2),"`Paintjob`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`)VALUES('0','0','0','0','0','0','0','0','0','0','0','0','0','0')");
    format(maxquery,sizeof(maxquery),"%s%s",query,query2);
    mysql_query(maxquery);
    SpielerPrivatAuto[playerid] = CreateVehicle(VerkaufeAutos[i][modelid],VerkaufeAutos[i][SpawnPosX],VerkaufeAutos[i][SpawnPosY],VerkaufeAutos[i][SpawnPosZ],VerkaufeAutos[i][SpawnPosA],-1,-1,-1);
    SetVehicleNumberPlate(SpielerPrivatAuto[playerid],AutoSpielerName);
    TogglePlayerControllable(playerid,1);
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }


    Mein mysql_log.txt spuckt ebenfalls noch diesen Error aus:
    An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0','0','0','0','0','0','0','0','0','0','0','0','0','0')' at line 1)


    Ich bedanke mich im vorraus und hoffe, dass mir jemand helfen kann.

  • Ausführen würde er folgenden MySql Befehl:

    SQL
    INSERT INTO `privatautos`(`Spielername`,`Name`,`modelid`,`Nummernschild`,`AutoLeben`,`PrivatAutoPosX`,`PrivatAutoPosY`,`PrivatAutoPosZ`,`PrivatAutoPosA`,`Farbe1`,`Farbe2`)VALUES('%s','%s','%i','1000.00','%f','%f','%f','%f','2','2') `Paintjob`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`)VALUES('0','0','0','0','0','0','0','0','0','0','0','0','0','0')


    Wäre kein gültiger SQL Befehl....
    Lass im ersten format (query) einfach alle spaltennamen rein lesen also:
    format(query, sizeof query, "`Spielername`,`Name`,`modelid`,`Nummernschild`,`AutoLeben`,`PrivatAutoPosX`,`PrivatAutoPosY`,`PrivatAutoPosZ`,`PrivatAutoPosA`,`Farbe1`,`Farbe2`,`Paintjob`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`");
    Im query2 speicherst du alle Values dazu, die es gibt:
    format(query2,sizeof query2, "'%s','%s','%i','1000.00','%f','%f','%f','%f','2','2','0','0','0','0','0','0','0','0','0','0','0','0','0','0'", /* Hier auch noch deine Variablen einsetzen... */);
    Und senden tust du das ganze mit
    mysql_query("INSERT `privatautos` (%s) VALUES (%s)", query,query2);


    Sollte danach funktionieren ;)