OK habs hinbekommen.
Also ich kann nur jedem von dem MySQL plugin von Strickenkid abraten das das bugs bei der funktion mysql_fetch_float.
Wenn ihr ein gutes MySQL Plugin braucht nehmt das von BlueG.
Aber trozdem danke für deine Hilfe Jeffry.
Beiträge von xICE
-
-
OK also auch damit funktioniet es ned. Ich bekomm das ergebnis:
[23:39:28] Float: -0.000000
[23:39:28] ergebnis: -1.372250 -
OK also auch nach dem Update des Plugins(stable version) ist das ergebnis was in meienr server log steht das:
[23:26:54] -0.000000
[23:26:54] ergebnis: 0.000000
[23:26:54] Float: -1.099903und das ist die mysql funktion:
stock Float:MySQL_GetFloat1(Was[],Tabelle[],Wo1[],Ist1[])
{
mysql_real_escape_string(Was,Was);
mysql_real_escape_string(Tabelle,Tabelle);
mysql_real_escape_string(Wo1,Wo1);
mysql_real_escape_string(Ist1,Ist1);
new Query[512], Float:ergebnis;
format(Query,sizeof(Query),"SELECT %s FROM %s WHERE %s='%s'",Was,Tabelle,Wo1,Ist1);
mysql_query(Query);
mysql_store_result();
new tmp[20];
format(tmp, 20, "%f", mysql_fetch_float());
print(tmp);
ergebnis = floatstr(tmp);
printf("ergebnis: %f",ergebnis);
printf("Float: %f",mysql_fetch_float());
mysql_free_result();
return ergebnis;
} -
ich hab jetz auch mal das mysql plugin neu installiert und jetzt bekomme ich den fehler:
Failed (libmysqlclient_r.so.16: cannot open shared object file: No such file or directory)keine ahnung wie ich den behebe.
-
Das setzt zwar die ganze funktion ausßer kraft aber gut, nun sieht die funktion so aus:
stock Float:MySQL_GetFloat1(Was[],Tabelle[],Wo1[],Ist1[])
{
mysql_real_escape_string(Was,Was);
mysql_real_escape_string(Tabelle,Tabelle);
mysql_real_escape_string(Wo1,Wo1);
mysql_real_escape_string(Ist1,Ist1);
new Query[512], Float:ergebnis;
format(Query,sizeof(Query),"SELECT %s FROM %s WHERE %s='%s'",Was,Tabelle,Wo1,Ist1);
mysql_query(Query);
mysql_store_result();
ergebnis = -1.1234;
printf("ergebnis: %f",ergebnis);
printf("Float: %f",mysql_fetch_float());
mysql_free_result();
return ergebnis;
}und das ergebnis was in der server_log.txt steht ist:
[22:42:26] ergebnis: -1.123399
[22:42:26] Float: -1.348413 -
sry die hab ich übersehen
Das steht dazu in der server_log.txt
[21:34:05] ergebnis: -0.000000
[21:34:05] Float: -1.481422 -
Hier den Befehl:
if (strcmp("/float", cmdtext, true, 10) == 0)
{
new str1[256], Float:meineposition;
meineposition = MySQL_GetFloat1("PosZ","Autohäuser","ID","1");
format(str1,sizeof(str1),"Das Ergebnis: %f",meineposition);
SendClientMessage(playerid,grün,str1);
return 1;
}Hier die Funktion:
stock Float:MySQL_GetFloat1(Was[],Tabelle[],Wo1[],Ist1[])
{
mysql_real_escape_string(Was,Was);
mysql_real_escape_string(Tabelle,Tabelle);
mysql_real_escape_string(Wo1,Wo1);
mysql_real_escape_string(Ist1,Ist1);
new Query[512], Float:ergebnis;
format(Query,sizeof(Query),"SELECT %s FROM %s WHERE %s='%s'",Was,Tabelle,Wo1,Ist1);
mysql_query(Query);
mysql_store_result();
ergebnis = mysql_fetch_float();
printf("ergebnis: %f",ergebnis);
printf("Float: %f",mysql_fetch_float());
mysql_free_result();
return ergebnis;
}Ingame bekomm ich nach dem tset Befegl das Ergebnis: -0.000000
Und in der server_log.txt steht nicht relevantes.
und der Inhalt zu der Query aus der mysql_log.txt ist folgender:
[Tue Jul 29 21:34:05 2014] Function: mysql_real_esacpe_string executed: "PosZ" with result: "PosZ".
[Tue Jul 29 21:34:05 2014] Function: mysql_real_esacpe_string executed: "Autohäuser" with result: "Autohäuser".
[Tue Jul 29 21:34:05 2014] Function: mysql_real_esacpe_string executed: "ID" with result: "ID".
[Tue Jul 29 21:34:05 2014] Function: mysql_real_esacpe_string executed: "1" with result: "1".
[Tue Jul 29 21:34:05 2014] Function: mysql_query executed: "SELECT PosZ FROM Autohäuser WHERE ID='1'" with result: "0".
[Tue Jul 29 21:34:05 2014] Function: mysql_store_result executed with result: "1"
[Tue Jul 29 21:34:05 2014] Function: mysql_fetch_float executed with result: "17.398199".
[Tue Jul 29 21:34:05 2014] Function: mysql_free_result executed. -
das was in der datenbank steht hab ich als Bild angehängt und es sozu machen:
mysql_fetch_float(ergebnis);
geht nicht da ich das plugin von StrickenKid benutze und das so nicht funktioniert.
Weiß niemand eine Antwort ?
-
fuktioniert auch so nicht:
if (strcmp("/float", cmdtext, true, 10) == 0)
{
new str1[256], Float:meineposition;
meineposition = MySQL_GetFloat1("PosZ","Autohäuser","ID","1"); //Die 1 hinter dem MySQL_GetFloat ist nur für test zwecke
format(str1,sizeof(str1),"Das Ergebnis: %f",meineposition);
SendClientMessage(playerid,grün,str1);
return 1;
} -
Hier eine Test Funktion bei der aus auch nicht funktioniert:
if (strcmp("/float", cmdtext, true, 10) == 0)
{
new str1[256], Float:float;
float = MySQL_GetFloat1("PosZ","Autohäuser","ID","1")
format(str1,sizeof(str1),"Das Ergebnis: %f",float);
SendClientMessage(playerid,grün,str1);
return 1;
} -
Ja das speichen funktioniert alles mit einer Query aber hin und wieder will muss ich einzelne Dinge auslesen und dffür ist die Funktion auch.
-
Hallo,
ich arbeite seit einiger zeit mit dem MySQL Pugin von StrickenKid, aber hier bin ich am verzweifeln.
Ich habe einen MySQL GetFloat befehl geschrieben, dieser funktioniert aber nicht richtig.Hier der Befehl:
stock Float:MySQL_GetFloat(Was[],Tabelle[],Wo[],Ist[])
{
mysql_real_escape_string(Was,Was);
mysql_real_escape_string(Tabelle,Tabelle);
mysql_real_escape_string(Wo,Wo);
mysql_real_escape_string(Ist,Ist);
new Query[512], Float:ergebnis;
format(Query,sizeof(Query),"SELECT %s FROM %s WHERE %s='%s'",Was,Tabelle,Wo,Ist);
mysql_query(Query);
mysql_store_result();
ergebnis = mysql_fetch_float();
mysql_free_result();
return ergebnis;
}Ein forward habe ich auch, und in der mysql_log.txt steht das mysql_fetch_float mit dem richtigen ergebnis ausgeführt wurde aber meine Funktion gibt mir kein ergebnis zurück.
Bitte um Hilfe
Kilian