Autos ins MYSQL speichern ID 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
  • Hi Leutz,


    ich habe in problem mit dem Speichern von Fahrzeugen in MYSQL
    bei dini konnte ich das problem los mit count machen jedoch bei MYSQL habe ich ein problem
    SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
    SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
    SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
    GPP(playerid,Float:isx,Float:isy,Float:isz);
    if (QueryMySQL("*","autos","","")>0)
    {
    while(mysql_fetch_row(mysqlresult))
    {
    new count = GetMySQLField_Int("FahrzeugID");
    count++;
    Autos[count][vModel] = modelid;
    Autos[count][vEingepackt] = 0;
    Autos[count][vArt] = 0;
    Autos[count][vX] = isx;
    Autos[count][vY] = isy;
    Autos[count][vZ] = isz;
    Autos[count][vA] = 0;
    Autos[count][vFarbe1] = 0;
    Autos[count][vFarbe2] = 0;
    Autos[count][vVerkauf] = 0;
    Autos[count][vPreis] = 0;
    Autos[count][vKMStand] = 0;
    Autos[count][vRKMStand] = 0;
    strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
    strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
    strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
    strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
    Autos[count][vBeschlagnahmt] = 0;
    Autos[count][vBX] = isx;
    Autos[count][vBY] = isy;
    Autos[count][vBZ] = isz;
    Autos[count][vBA] = 0;
    Autos[count][vRespawn] = respawn;
    Autos[count][vZustand] = 1000.0;
    Autos[count][vMS] = 0;
    Autos[count][vTankMax] = 100;
    Autos[count][vBenzin] = 100;
    Autos[count][vVW] = vw;
    Autos[count][vMJ] = mj;
    Autos[count][vFC] = fc;
    // Autos[count][vTankMax] = LVehiclesTreibstoffMenge[modelid-400];
    // Autos[count][vBenzin] = LVehiclesTreibstoff[modelid-400];
    Autos[count][vTankDrin] = 100;
    format (mystr,sizeof(mystr),"Model='%d'",Autos[count][vModel]);
    if (!InsertMySQL("autos",mystr)) {printf("Daten konnten nicht eingefügt werden!");}
    VgasDrin[count] = Autos[count][vTankMax];
    VgasMax[count] = Autos[count][vTankMax];
    Meters[count] = 0;
    RMeters[count] = 0;
    CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
    SetVehicleVirtualWorld(count,Autos[count][vVW]);
    OnVehicleDataUpdate(count);
    }
    }


    mfg Dedi



    Einmal editiert, zuletzt von Tomi93 ()

  • hmm, also ich hab mysql zwar auch erst vor kurzem angefangen, aber ich werds mal probieren^^


    format(auto,sizeof(auto),"INSERT INTO `Autos` (`ID`,`Modell`,`Besitzer`) VALUES ('%d','%d','%s')",
    GetVehicleID(...),
    Autos[kp][Modell],
    Autos[kp][Besitzer]);


    So würde ich sowas machen, also so erstellst du ne neue spalte in der tabelle Autos. Jenachdem wie du die tabellen gemacht hast. Musst halt alles auf dich anpassen. Dann noch mit samp_mysql_query(auto); das ganze "saven" :D ich hoffe ich konnte dir ein wenig helfen.
    Die Syntaxe von INSERT INTO, UPDATE und SELECT findest du iwo im netz, glaube ich, zu not kann ich dir die auch schicken


    MFG, Robdeflop

  • Das Problem ist diese Zeile kann nicht unendlich lang sein was machste dann???
    format(auto,sizeof(auto),"INSERT INTO `Autos` (`ID`,`Modell`,`Besitzer`) VALUES ('%d','%d','%s')",


    und ich habe mit meinem System auch keine probleme auser wie du auch kp hast
    Autos[kp][Modell]
    nur da liegt mein problem
    ich habs mit count probiert wie du oben siehst hat aber nicht funktioniert
    keine Eintragung und kein Auto auf der Straße

  • machs doch mit for(new i = 1; i < MAX_VEHICLES; i++)
    {


    un dann anstatt kp i verwenden^^ Das sollte gehen. Und das die zeile nit unendlich lang sein darf weiß ich, ich glaube man kann auch mehrere "formate" machen.


    MFG, Robdeflop

  • Das Problem ist diese Zeile kann nicht unendlich lang sein was machste dann???
    format(auto,sizeof(auto),"INSERT INTO `Autos` (`ID`,`Modell`,`Besitzer`) VALUES ('%d','%d','%s')",


    So in etwa:



    new
    c_string_table[4][256];


    format(c_string_table[0],256,"UPDATE samp_autos SET `ID`='%d',`Lamps`='%d',`PaintJob`='%d',`Model`='%d',`Pos_X`='%f',`Pos_Y`='%f',`Pos_Z`='%f',`Pos_Rotation`='%f'",PlayerCar[playerid][x][CarId],PlayerCar[playerid][x][CarLamps],PlayerCar[playerid][x][CarPJ],PlayerCar[playerid][x][CarModel],PlayerCar[playerid][x][CarPos_x],PlayerCar[playerid][x][CarPos_y],PlayerCar[playerid][x][CarPos_z],PlayerCar[playerid][x][CarRotate]);
    format(c_string_table[1],256,",`Nitro`='%d',`Hyd`='%d',`Wheel`='%d',`Auspuff`='%d',`Sidel`='%d',`SideR`='%d',`Kennzeichen`='%d'",PlayerCar[playerid][x][CarNitro],PlayerCar[playerid][x][CarHyd],PlayerCar[playerid][x][CarWheel],PlayerCar[playerid][x][CarAusp],PlayerCar[playerid][x][CarSideL],PlayerCar[playerid][x][CarSideR],PlayerCar[playerid][x][CarKZ]);
    format(c_string_table[2],256,",`FB`='%d',`RB`='%d',`Spoiler`='%d',`Roof`='%d',`Hood`='%d',`Vents`='%d',`Benzin`='%d'",PlayerCar[playerid][x][CarFB],PlayerCar[playerid][x][CarRB],PlayerCar[playerid][x][CarSpoiler],PlayerCar[playerid][x][CarRoof],PlayerCar[playerid][x][CarHood],PlayerCar[playerid][x][CarVents],PlayerCar[playerid][x][CarBenzin]);
    format(c_string_table[3],256,",`Farbe0`='%d',`Farbe2`='%d',`Preis`='%d',`Spawn`='%d',`Waffe`='%d',`Munition`='%d' WHERE (`Besitzer` = '%s')",PlayerCar[playerid][x][CarC1],PlayerCar[playerid][x][CarC2],PlayerCar[playerid][x][CarPreis],PlayerCar[playerid][x][cc_Spawn],PlayerCar[playerid][x][CarWaffe],[x][CarMunition],pName,cc_PlayerKey[playerid]);
    format(query,sizeof(query),"%s%s%s%s",c_string_table[0],c_string_table[1],c_string_table[2],c_string_table[3]);
    mysql_query(query);

  • machs doch mit for(new i = 1; i < MAX_VEHICLES; i++)
    {


    un dann anstatt kp i verwenden^^ Das sollte gehen. Und das die zeile nit unendlich lang sein darf weiß ich, ich glaube man kann auch mehrere "formate" machen.


    MFG, Robdeflop


    schon mal 4999 Fahrzeuge auf einem Fleck gesehen??


    [quote='Stas'] format(c_string_table[2],256,",`FB`='%d',`RB`='%d',`Spoiler`='%d',`Roof`='%d',`Hood`='%d',`Vents`='%d',`Benzin`='%d'",PlayerCar[playerid][x][CarFB],PlayerCar[playerid][x][CarRB],PlayerCar[playerid][x][CarSpoiler],PlayerCar[playerid][x][CarRoof],PlayerCar[playerid][x][CarHood],PlayerCar[playerid][x][CarVents],PlayerCar[playerid][x][CarBenzin]);
    wie haste das x definiert???



    3 Mal editiert, zuletzt von Tomi93 ()