Insert Into Geht Nicht

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
  • Hallo zsm


    ich hab ein problem mit meinem INSERT INTO BEFEHL


    Hier der public dazu


    forward ITDB(playerid);
    public ITDB(playerid)
    {
    new query[256],password[32],ipadress[16];
    GetPVarString(playerid,"password",password,32);
    GetPVarString(playerid,"ip",ipadress,16);
    format(query,sizeof(query),"INSERT INTO users ('username','passwort','ip') VALUES ('%s','%s','%s')",Spielername(playerid),password,ipadress);
    mysql_function_query(dbhandle,query,false,"","");
    SendClientMessage(playerid,-1,"Du wurdest erfolgreich eingeloggt.");
    return 1;
    }


  • forward ITDB(playerid);
    public ITDB(playerid)
    {
    new query[256],password[32],ipadress[16];
    GetPVarString(playerid,"password",password,32);
    GetPVarString(playerid,"ip",ipadress,16);
    format(query,sizeof(query),"INSERT INTO `users` (`username`, `passwort`, `IP`) VALUES ('%s', '%s', '%s')",Spielername(playerid),password,ipadress);
    mysql_function_query(dbhandle,query,false,"","");
    SendClientMessage(playerid,-1,"Du wurdest erfolgreich eingeloggt.");
    return 1;
    }


    versuchs mal so

  • Uhh, Klartext ohne ihn zu escapen ist ganz böse, das kann einen ziemlichen SQL Inject verursachen.
    forward ITDB(playerid);
    public ITDB(playerid)
    {
    new query[256],password[32],ipadress[16];
    GetPVarString(playerid,"password",password,32);
    GetPVarString(playerid,"ip",ipadress,16);
    mysql_format(dbhandle, query,sizeof(query),"INSERT INTO `users` (`username`, `passwort`, `IP`) VALUES ('%e', '%e', '%e')",Spielername(playerid),password,ipadress);
    mysql_function_query(dbhandle,query,false,"","");
    SendClientMessage(playerid,-1,"Du wurdest erfolgreich eingeloggt.");
    return 1;
    }


    mysql_format anstatt format verwenden, und %e anstatt %s.