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.

-
Alles anzeigen
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ürlich
So 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? -
Alles anzeigen
Natürlich
So 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. -