Was macht es für ein Unterschied ob ich die Daten der Spielers mit einem Query speichere oder mit mysql_SetInt?
MySQL Frage
- xFreeze
- Geschlossen
- Erledigt
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
-
-
Scherzfrage ?
Durch die Funktion mysql_setInt wird immer der mysql_query ausgeführt, bei einer langen query aber nur 1x
mfg.
-
@Schwabbel Wie meinste das mit einem langem Query?
-
Naja, sowas z.B. :
mysql_query("INSERT INTO `user` (`Name`,`Passwort`) VALUES ('Kaliber','wüsstestegerne')");
1 Query für 2 Sachen und kannst natürlich auch 1 Query für 50 Sachen machen
mfg.
-
Naja, sowas z.B. :
mysql_query("INSERT INTO `user` (`Name`,`Passwort`) VALUES ('Kaliber','wüsstestegerne')");
1 Query für 2 Sachen und kannst natürlich auch 1 Query für 50 Sachen machen
mfg.
auch wenn die Frage jetzt Blöd klingt um wie viel ms schneller ist diese Funktion als setint? -
auch wenn die Frage jetzt Blöd klingt um wie viel ms schneller ist diese Funktion als setint?
Nun es ist so, wenn du das bei ca. 30 Variablen machst, dann sendest du 30 Querys an die Datenbank, sprich 30x eine Verbindung zu der Datenbank aufbauen...so nur 1x...Ich habe jetzt keinen Test gemacht, aber auf jeden Fall ist es Ressourcen schonender und schneller
mfg.
-
Nun es ist so, wenn du das bei ca. 30 Variablen machst, dann sendest du 30 Querys an die Datenbank, sprich 30x eine Verbindung zu der Datenbank aufbauen...so nur 1x...Ich habe jetzt keinen Test gemacht, aber auf jeden Fall ist es Ressourcen schonender und schneller
mfg.
Ich danke dir für die Antwort jetzt weiß ich was ich an meinem Script optimieren kann -
@Schwabbel Mit dem Query wie du es machst tut man es doch in die Tabelle bzw man speichert es.
Gibt es auch eine möglichkeit es genau so schnell auszulesen? -
so schnell auszulesen?
NatürlichSo zum Beispiel:
new string[128];
format(string,sizeof(string),"SELECT * FROM `user` WHERE `Name` = '%s'",spieler_name[playerid]);
mysql_query(string);
mysql_store_result(); new resultline[256];
if(mysql_fetch_row_format(resultline)) {
sscanf(resultline,"p<|>ss",PlayerInfo[playerid][pName],PlayerInfo[playerid][pPassword]); //Nun haben wir Name und Pw ausgelesen
}mfg.
-
@Schabbel
Wäre es dann so?
sscanf(resultline,"p<|>ssd",PlayerInfo[playerid][pName],PlayerInfo[playerid][pPassword],PlayerInfo[playerid][pTode]);//? -
@Schabbel
Wäre es dann so?
sscanf(resultline,"p<|>ssd",PlayerInfo[playerid][pName],PlayerInfo[playerid][pPassword],PlayerInfo[playerid][pTode]);//?
Genau -
Danke habs verstanden
Noch eine Frage: Wie kann ich die Spalten mit dem Script erstellen? -
NatürlichSo zum Beispiel:
new string[128];
format(string,sizeof(string),"SELECT * FROM `user` WHERE `Name` = '%s'",spieler_name[playerid]);
mysql_query(string);
mysql_store_result(); new resultline[256];
if(mysql_fetch_row_format(resultline)) {
sscanf(resultline,"p<|>ss",PlayerInfo[playerid][pName],PlayerInfo[playerid][pPassword]); //Nun haben wir Name und Pw ausgelesen
}mfg.
Bei den vorhaben sollte man schon drauf achten, das der s wert eine länge bekommt z.B.
sscanf(resultline,"p<|>s[32]s[128]",PlayerInfo[playerid][pName],PlayerInfo[playerid][pPassword]); -
@Schwabbel Ich bekomme beim Query 3 Warnings
mysql_query("INSERT INTO `Accounts` (`Name`,`Level`,`Interior`,`VirtualWorld`,`Skin`,`Bank`) VALUES ('%s','%i','%i','%i','%i','%i')",SpielerInfo[playerid][pName],GetPlayerScore(playerid),GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),GetPlayerSkin(playerid),SpielerInfo[playerid][pBank]);Warnings:
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition -
Du musst auch erst den String formatieren
-
Danke, habe das nicht gewusst
Eine Frage noch, was ist wenn die Line zu lang wird? -
Eine Frage noch, was ist wenn die Line zu lang wird?
einfach sowas machen:format(string,sizeof(string),".................................... \
..........................");mfg.
-
@Schwabbel
Bei mir kommen dann mehrere Errors
-immer noch unput line too long
-loose indentation
-invalid expression -
Oha...okay, gut dann mach beende das format, mach n neues format in einen neuen String und nutze strins
-
@Schwabbel
Könntest du das zeigen wie man es mit Strins macht?
Weil habe gerade in der Wiki geschaut und es nicht ganz verstanden wie die das meinen. -