Float aus MySQL lesen

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
  • Hey,


    undzwar habe ich folgende warnings: C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\filterscripts\autohaussystem.pwn(102) : warning 213: tag mismatch
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\filterscripts\autohaussystem.pwn(103) : warning 213: tag mismatch
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\filterscripts\autohaussystem.pwn(104) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Warnings.


    mir ist schon klar was das bedeutet nur ich finde den fehler nicht. Hier mal die ganzen zeilen:
    stock loadautos()
    {
    for(new i; i<=MAX_AUTOS; i++) {
    e_auto[i][a_x] = mysql_GetFloatWithInt("autohaus", "x", "id", i);
    e_auto[i][a_y] = mysql_GetFloatWithInt("autohaus", "y", "id", i);
    e_auto[i][a_z] = mysql_GetFloatWithInt("autohaus", "z", "id", i);
    }
    return 1;
    }


    und:
    stock Float:mysql_GetFloatWithInt(Table[], Field[], Where[], Is)
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%d'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }

  • Du gehst sehr sparsam mit Informationen um.
    Die Warnung kommt bestimmt von diesem Ausdruck
    e_auto[i][a_x] // bzw a_y,a_z
    Also zeig mal e_auto und das enum, welches du dort verwendest.


    e_auto müsste dem o.g. zu Folge die Variable sein und a_x,a_y und a_z jeweils als Float: im enum.


    Übrigens:

    Zitat

    for(new i; i<=MAX_AUTOS; i++) {


    Mit <= holst dir bestimmt ein Fehler. <= solltest du nicht machen, wenn das Array eine Größe von MAX_AUTOS hat.

  • Ok, aber warum stürtzt hier der Server ab ? : ocmd:test(playerid,params[])
    {
    loadautos();


    new query[100];
    format(query,sizeof(query),"INSERT INTO autohaus (vID,x,y,z,c1,c2) VALUES ('411','3.5','3.4','3.3','3','3'");
    mysql_query(query);
    return 1;
    }


    stock loadautos()
    {
    for(new i; i<MAX_AUTOS; i++) {
    e_auto[i][a_x] = mysql_GetFloatWithInt("autohaus", "x", "id", i);
    e_auto[i][a_y] = mysql_GetFloatWithInt("autohaus", "y", "id", i);
    e_auto[i][a_z] = mysql_GetFloatWithInt("autohaus", "z", "id", i);
    }
    return 1;
    }

  • Du hast bereits 715 Forenbeiträge und packst in deine Beiträge fast gar keine Informationen oder Nettigkeiten.


    Warum es crasht ? Keine Ahnung, dazu gibst du ja nichts an.
    Installier das Plugin, damit kriegt man mehr Informationen:
    CrashDetect 4.13
    Wie man es korrekt installiert steht in diesem Thread.


    Zitat

    format(query,sizeof(query),"INSERT INTO autohaus (vID,x,y,z,c1,c2) VALUES ('411','3.5','3.4','3.3','3','3'");


    Da fehlt zumindest im String eine ) um VALUES abzuschließen.