MySQL Error

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
  • Wenn ich jemanden Timebanne kommt dieses Error Meldung


    14:52:44] Error-ID: 1054 | Error: Unknown column 'user' in 'where clause' | Callback: checkBanExecute | Query: SELECT * FROM view_bans WHERE user LIKE 'Tester'


    Beim erstellen der "view_bans" habe ich nur eine Tabelle die ich auch view_bans gennant habe

  • In deiner Tabelle view_bans fehlt die Spalte "user".
    Lege diese als VARCHAR an.

    15:23:34] Error-ID: 1146 | Error: Table 'samp5871_server.tb_outstanding' doesn't exist | Callback: CheckTimebans | Query: SELECT * FROM tb_outstanding WHERE usr_name LIKE 'Tester' AND status = '0' ORDER BY id ASC LIMIT 1


    Danke, jetzt kommt dieser Fehlermeldung

  • Mindestens die Spalten "usr_name" als VARCHAR und "status" als INT. Können aber auch weitere Spalten verlangt sein, da ich den Code nicht kenne und den Server nicht erstellt habe, kann ich dir das nicht sagen.
    Am besten du wendest dich an den Ersteller des Servers und fragst nach der Datenbank.

  • Mindestens die Spalten "usr_name" als VARCHAR und "status" als INT. Können aber auch weitere Spalten verlangt sein, da ich den Code nicht kenne und den Server nicht erstellt habe, kann ich dir das nicht sagen.
    Am besten du wendest dich an den Ersteller des Servers und fragst nach der Datenbank.

    Danke, nun klappt Timeban nicht


    forward checktimeban(playerid);
    public checktimeban(playerid){


    if(LogFilesJet == 1){
    printf("checktimeban 1 | Name: %s", PlayerName(playerid));
    }


    new stringgdfg[256];
    format(stringgdfg, sizeof(stringgdfg), "SELECT * FROM tb_outstanding WHERE usr_name LIKE '%s' AND status = '0' ORDER BY id ASC LIMIT 1", PlayerName(playerid));
    mysql_function_query(Connection, stringgdfg, true, "CheckTimebans", "i", playerid);
    }


    if(strcmp(cmd, "/timeban", true) == 0 || strcmp(cmd, "/tb", true) == 0){
    if(PlayerInfo[playerid][ALevel] == 500 || PlayerInfo[playerid][ALevel] == 600){
    return 1;
    }
    if(PlayerInfo[playerid][Team] == 21) return 1;


    if(PlayerInfo[playerid][ALevel] <= 1){ return 1;}
    new name[256], tbl, tbt[64];
    if(IsPlayerConnected(playerid)){
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, GREY, "Verwendung: /timeban [Spieler-ID/Teil des Namens] [Bannlänge] [Bannart s/i/h/d/w/m/y] [Grund]");
    SendClientMessage(playerid, COLOR_RED, "s: Sekunden | i: Minuten | h: Stunden | d: Tage | w: Wochen | m: Monate | y: Jahre");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    GetPlayerName(playerid, name, sizeof(name));


    if(IsPlayerConnected(giveplayerid)){
    if(giveplayerid != INVALID_PLAYER_ID){
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, GREY, "Verwendung: /timeban [Spieler-ID/Teil des Namens] [Bannlänge] [Bannart s/i/h/d/w/m/y] [Grund]");
    SendClientMessage(playerid, COLOR_RED, "s: Sekunden | i: Minuten | h: Stunden | d: Tage | w: Wochen | m: Monate | y: Jahre");
    return 1;
    }
    tbl = strval(tmp);


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, GREY, "Verwendung: /timeban [Spieler-ID/Teil des Namens] [Bannlänge] [Bannart s/i/h/d/w/m/y] [Grund]");
    SendClientMessage(playerid, COLOR_RED, "s: Sekunden | i: Minuten | h: Stunden | d: Tage | w: Wochen | m: Monate | y: Jahre");
    return 1;
    }
    format(tbt, sizeof(tbt), "%s", tmp);


    if(strcmp(tbt, "s", true) == 0 || strcmp(tbt, "i", true) == 0 || strcmp(tbt, "h", true) == 0 || strcmp(tbt, "d", true) == 0 || strcmp(tbt, "w", true) == 0 || strcmp(tbt, "m", true) == 0 || strcmp(tbt, "y", true) == 0){
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, name, sizeof(name));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' ')){
    idx++;
    }
    new offset = idx;
    new result[256];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))){
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result)){
    SendClientMessage(playerid, GREY, "Verwendung: /timeban [Spieler-ID/Teil des Namens] [Bannlänge] [Bannart s/i/h/d/w/m/y] [Grund]");
    SendClientMessage(playerid, COLOR_RED, "s: Sekunden | i: Minuten | h: Stunden | d: Tage | w: Wochen | m: Monate | y: Jahre");
    return 1;
    }


    timeban(playerid, giveplayerid, tbl, tbt, result);
    }
    else{
    SendClientMessage(playerid, GREY, "Verwendung: /timeban [Spieler-ID/Teil des Namens] [Bannlänge] [Bannart s/i/h/d/w/m/y] [Grund]");
    SendClientMessage(playerid, COLOR_RED, "s: Sekunden | i: Minuten | h: Stunden | d: Tage | w: Wochen | m: Monate | y: Jahre");
    return 1;
    }


    return 1;
    }
    }
    }


    return 1;
    }


    forward checktimeban_execute(playerid, name[]);
    public checktimeban_execute(playerid,name[]){
    new rows, fields, stringkll[180];
    cache_get_data(rows, fields);


    if(rows > 0){
    format(stringkll, sizeof(stringkll), "UPDATE `server_timeban` SET status = 1 WHERE `usr_name` = '%s' AND status = 0", name);
    mysql_query(stringkll);


    format(stringkll,sizeof(stringkll),"%s.%s", PlayerName(playerid),name);
    admin_log("unbantimeban", stringkll);


    for(new i = 0; i <= MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    if(PlayerInfo[i][ALevel] !=0){
    format(stringkll,sizeof(stringkll),"- Admin %s hat den Spieler '%s' den Timeban weggenommen -", PlayerName(playerid), name);
    SendClientMessage(i, COLOR_ORANGE, stringkll);


    forward CheckTimebans(playerid);
    public CheckTimebans(playerid){
    new rows, fields, query[256];
    cache_get_data(rows, fields);


    if(LogFilesJet == 1) printf("CheckTimeBanExecute 1");


    if(rows){
    new string[256], tba[10], tbr[256], ablauf[64];
    new tbid, tbl, tbt, stamp;


    if(LogFilesJet == 1) printf("CheckTimeBanExecute 2");


    cache_get_field_content(0, "id", string, Connection, 128);
    tbid = strval(string);
    cache_get_field_content(0, "ban_ablauf", string, Connection, 128);
    tbt = strval(string);
    cache_get_field_content(0, "ts", string, Connection, 128);
    stamp = strval(string);
    cache_get_field_content(0, "ban_length", string, Connection, 128);
    tbl = strval(string);
    cache_get_field_content(0, "ban_reason", tbr, Connection, 128);
    cache_get_field_content(0, "ban_typ", tba, Connection, 128);
    cache_get_field_content(0, "ablauf", ablauf, Connection, 128);


    if(LogFilesJet == 1) printf("CheckTimeBanExecute 3");


    if( tbt > stamp ){
    if(LogFilesJet == 1) printf("CheckTimeBanExecute 3.1");


    if(strcmp(tba, "s", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Sekunden gebannt | Grund: %s", tbl, (tbr));
    if(strcmp(tba, "i", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Minuten gebannt | Grund: %s", tbl, (tbr));
    if(strcmp(tba, "h", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Stunden gebannt | Grund: %s", tbl, (tbr));
    if(strcmp(tba, "d", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Tage gebannt | Grund: %s", tbl, (tbr));
    if(strcmp(tba, "w", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Wochen gebannt | Grund: %s", tbl, (tbr));
    if(strcmp(tba, "m", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Monate gebannt | Grund: %s", tbl, (tbr));
    if(strcmp(tba, "y", true) == 0)
    format(query, sizeof(query), "Du wurdest für %i Jahre gebannt | Grund: %s", tbl, (tbr));


    SendClientMessage(playerid, 0xA734C2FF, query);
    format(query, sizeof(query), "Der Bann läuft ab am: %s", ablauf);
    SendClientMessage(playerid, 0xA734C2FF, query);
    SetTimerEx("DelayKick", 2000, 0, "d", playerid);
    }
    else{
    if(LogFilesJet == 1) printf("CheckTimeBanExecute 3.2");
    format(query, sizeof(query), "UPDATE server_timeban SET status = '1' WHERE id = '%d'", tbid);
    mysql_query(query);
    }


    if(LogFilesJet == 1) printf("CheckTimeBanExecute 4");
    }


    if(LogFilesJet == 1) printf("CheckTimeBanExecute 5");
    }


    forward timeban(playerid, pid, tbl, tbt[], tbr[]);
    public timeban(playerid, pid, tbl, tbt[], tbr[]){
    new gip[128], plip[128], gname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], query[512];


    GetPlayerIp(pid, gip, sizeof(gip));
    GetPlayerIp(playerid, plip, sizeof(plip));


    GetPlayerName(pid, gname, sizeof(gname));
    GetPlayerName(playerid, name, sizeof(name));


    if(strcmp(tbt, "s", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Sekunden gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "i", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Minuten gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "h", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Stunden gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "d", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Tage gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "w", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Wochen gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "m", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Monate gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "y", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Jahre gebannt | Grund: %s", gname, name, tbl, (tbr));



    if(strfind(tbr,"SDM",true) != -1){
    PlayerInfo[pid][waffeschein] = 0;
    }




    SendClientMessageToAll(0xFF6347AA, query);


    format(query, sizeof(query), "INSERT INTO server_timeban(usr_id, usr_name, usr_ip, ban_time, ban_length, ban_typ, ban_reason, adm_name, adm_ip, status) VALUES(%d,'%s', '%s', UNIX_TIMESTAMP(), '%i', '%s', '%s', '%s', '%s', '0')", PlayerInfo[pid][Spielerzid], gname, gip, tbl, tbt, (tbr), name, plip);
    SendClientMessage(playerid, 0xA734C2FF, query);
    mysql_query(query);
    printf(query);
    SetTimerEx("DelayKick", 2000, 0, "d", pid);
    }


  • Wie gesagt, wende dich an den Ersteller des Servers.
    Da du die Datenbank nicht komplett hast werden wohl die meisten Dinge nicht oder nicht korrekt klappen.
    Da du den Code nicht selbst geschrieben hast, kannst du die Probleme auch nicht richtig schildern, außerdem lässt sich auf Grund der fehlenden Datenbank nicht feststellen, ob es ein Code- oder Datenbankproblem ist.

  • Wie gesagt, wende dich an den Ersteller des Servers.
    Da du die Datenbank nicht komplett hast werden wohl die meisten Dinge nicht oder nicht korrekt klappen.
    Da du den Code nicht selbst geschrieben hast, kannst du die Probleme auch nicht richtig schildern, außerdem lässt sich auf Grund der fehlenden Datenbank nicht feststellen, ob es ein Code- oder Datenbankproblem ist.

    /e


    [19:47:16] Error-ID: 1054 | Error: Unknown column 'id' in 'order clause' | Callback: CheckTimebans | Query: SELECT * FROM tb_outstanding WHERE usr_name LIKE 'Test' AND status = '0' ORDER BY id ASC LIMIT 1



    public checktimeban(playerid){


    if(LogFilesJet == 1){
    printf("checktimeban 1 | Name: %s", PlayerName(playerid));
    }


    new stringgdfg[256];
    format(stringgdfg, sizeof(stringgdfg), "SELECT * FROM tb_outstanding WHERE usr_name LIKE '%s' AND status = '0' ORDER BY id ASC LIMIT 1", PlayerName(playerid));
    mysql_function_query(Connection, stringgdfg, true, "CheckTimebans", "i", playerid);
    }

    Einmal editiert, zuletzt von B!aze ()

  • Der Fehlermeldung kannst du entnehmen:
    Spalte "id" fehlt in der Tabelle "tb_outstanding".



    Nochmal:
    Beschaffe dir die Datenbank von demjenigen, der dir den Server gegeben hat.
    Du kannst jetzt natürlich auch für jede Tabelle und jede Spalte eine Fehlermeldung erzeugen und alle davon posten. Dann haben wir hier nacher halt 713547 Antworten im Thread, bis du die Datenbank zusammengebastelt hast.

  • Nein nur bei Timeban fehlen paar sachen da es nicht in der Datenbank drinnen war