Server einrichten 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
  • Hey,
    ich habe bis jetzt immer den Server mit XAMPP und phpMyAdmin laufen lassen. Alles über Windows.
    Nun wollte ich den Server online stellen (Linux), jedoch habe ich folgende Fehler:

    SQL
    [14:52:04]    Error: Function not registered: 'cache_get_data'
    [14:52:04]    Error: Function not registered: 'mysql_tquery'
    [14:52:04]    Error: Function not registered: 'cache_get_field_content_int' 
    [14:52:04]    Error: Function not registered: 'mysql_escape_string'


    Könnte mir evtl. jemand helfen?
    Mit freundlichen Grüßen,
    HolyJoh

  • ok, hab ich jetzt hinbekommen.
    Nun hab ich noch das Problem, dass zwar einige Sachen aus der Datenbank ausgelesen werden können, jedoch nicht alles.
    Ich habe in der DatenBank: ID, Name, Passwort, score, admin, ban, premium, geld
    ID, Name und Passwort werden ganz normal ausgelesen und funktionieren.
    Den Score, das Admin Level und den Ban kann ich über phpMyAdmin zwar einsetzen und es bleibt dann gespeichert, aber wenn ich ingame jemanden Bann, das Adminlevel verändere oder den Score ändere, dann wird es nicht gespeichert in der Datenbank. Warum?
    Premium und Geld kann ich nichtmal über phpMyAdmin vergeben...
    Hier die Fehlercodes von der MySQL Log Datei:

    SQL
    [15:30:03] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID='3'' at line 1
    [15:45:25] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID='1'' at line 1
    [15:46:12] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID='2'' at line 1
    [16:14:01] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID='8'' at line 1
    [17:07:24] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID=''' at line 1
    [17:07:24] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID='8'' at line 1
    [17:10:08] [ERROR] CMySQLQuery::Execute[()] - (error #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 'WHERE ID=''' at line 1


    Slash™:
    Bitte um Hilfe,
    Mir freundlichen Grüßen,
    HolyJoh


  • savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    new query[256];
    format(query,sizeof(query),"UPDATE user SET scorelevel='%i',alevel='%i',pBanned='%i',premium='%i',money='%i', WHERE ID='%i'",sInfo[playerid][scorelevel],sInfo[playerid][alevel],sInfo[playerid
    [pBanned],sInfo[playerid][premium],GetPlayerMoney(playerid),sInfo[playerid][id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }

    Das Speichern des Spielers?
    Oder wenn es beim einloggen ausgelesen wird?
    sInfo[playerid][eingeloggt] = 1;
    SetPlayerScore(playerid,cache_get_field_content_int(0,"scorelevel",dbhandle));
    sInfo[playerid][id] = cache_get_field_content_int(0,"ID",dbhandle);
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    if(sInfo[playerid][alevel] == 1) return SendClientMessage(playerid, achat_color,"Du bist Supporter!");
    if(sInfo[playerid][alevel] == 2) return SendClientMessage(playerid, achat_color,"Du bist Administrator!");
    if(sInfo[playerid][alevel] == 3) return SendClientMessage(playerid, achat_color,"Du bist Head-Administrator!");
    if(sInfo[playerid][alevel] == 4) return SendClientMessage(playerid, achat_color,"Willkommen Holy!");
    sInfo[playerid][pBanned] = cache_get_field_content_int(0,"pBanned",dbhandle);
    if(sInfo[playerid][pBanned] == 1){ SendClientMessage(playerid,hinweis_color,"Dieser Account ist gesperrt, mit ihm kann nicht gespielt werden!"); return Kick(playerid);}
    sInfo[playerid][premium] = cache_get_field_content_int(0,"premium",dbhandle);
    if(sInfo[playerid][premium] == 1) return SendClientMessage(playerid, achat_color,"Du hast Premium!");
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    Slash™:

  • format(query,sizeof(query),"UPDATE user SET scorelevel='%i',alevel='%i',pBanned='%i',premium='%i',money='%i', WHERE ID='%i'",sInfo[playerid][scorelevel],sInfo[playerid][alevel],sInfo[playerid
    nach dem money='%i' kein Komma setzen


    format(query,sizeof(query),"UPDATE user SET scorelevel='%i',alevel='%i',pBanned='%i',premium='%i',money='%i' WHERE ID='%i'",sInfo[playerid][scorelevel],sInfo[playerid][alevel],sInfo[playerid

  • Bleibt die MySql Log gleich ?
    lass mal bei saveplayer zb das Adminlevel printen
    printf("Alevel = ",sInfo[playerid][alevel]");

  • ich habe was vergessen, sry


    printf("Alevel = %i", sInfo[playerid][alevel]);

  • Also wenn das so da steht dann fehlt da ja einiges.... bis jetzt hast du nur das level und das adminlevel eingefügt und das dritte array hast du nichtmal richtig zuende geschrieben. Und format erwartet jetzt von dir 6 Zahlen....
    Also müsste das zum beispiel so aussehen:
    format(query,sizeof(query),"UPDATE user SET scorelevel='%i',alevel='%i',pBanned='%i',premium='%i',money='%i' WHERE ID='%i'",sInfo[playerid][scorelevel],sInfo[playerid][alevel],sInfo[playerid][banned],sInfo[playerid][premium],sInfo[playerid][money],sInfo[playerid][db_id])
    Also setzte die Variablen richtig ein und versuche es nochmal.

  • Funktioniert immer noch nicht John_McClain: ...
    Und wenn ich die Passwörter in der Datenbank verschlüssle, dann werden die "Umgeschrieben" zu der Verschlüsselung. Somit ist jedes Passwort Falsch wenn man sich einloggen möchte...

    Einmal editiert, zuletzt von HolyJoh ()