Mysql Fehler

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
  • Ich habe diesen Stock umgeschrieben:


    stock Float:mysql_GetFloatHaus(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);
    mysql_real_escape_string(Is, Is); //Fehlerzeile
    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;
    }


    doch nun bekomme ich diesen Fehler, aber zu "integer" wechseln funktioniert ja nicht!


    error 035: argument type mismatch (argument 1)

  • mysql_real_escape_string(Is, Is); //Fehlerzeile


    Das wegmachen, da Is nur ein Integer ist und mysql_real_escape_string nur aus Strings Schadcode entfernt.


    Nun kommt das Script bei OnGameModeInit nicht weiter wenn es diesen stock aufruft!
    stock OnGameModeLoadHouses()
    {
    for( new i=0; i <= MAX_HOUSES;i++)
    {


    hausInfo[i][hID] = mysql_GetIntHaus("houses", "hID", "hID", i);


    hausInfo[i][hPreis] = mysql_GetIntHaus("houses", "hPreis", "hID", i);


    format(hausInfo[i][hBesitzer], MAX_PLAYER_NAME, "%s", mysql_GetStringHaus("houses", "hBesitzer", "hID", i));


    hausInfo[i][hInterior] = mysql_GetIntHaus("houses", "hInterior", "hID", i);


    hausInfo[i][hX] = mysql_GetFloatHaus("houses", "hX", "hID", i);


    hausInfo[i][hY] = mysql_GetFloatHaus("houses", "hY", "hID", i);


    hausInfo[i][hZ] = mysql_GetFloatHaus("houses", "hZ", "hID", i);
    }
    //printf("Haussystem: Es wurden %i Häuser geladen.", i);
    return 1;
    }