Tag Missatch bei mysql_fetch_field R5

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
  • mysql_fetch_field("Geld",data);
    zu:
    mysql_fetch_field_row(data, "Geld");


    mysql_fetch_field("Geld",data);
    zu:
    mysql_fetch_field_row(data, "Geld");


    hey, danke für die hilfe, nur funktioniert es immernoch nicht, wenn ich es printen lasse kommt <NULL>
    habe es nun so, wo liegt der fehler`?

    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[128],data[512];
    format(query,sizeof(query),"SELECT * FROM accounts WHERE `Name`='%s", SpielerName(playerid));
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field_row(data, "Geld");
    SpielerInfo[playerid][Geld]=strval(data);
    GivePlayerMoney(playerid,strval(data));
    print(data);
    }
    }
    return 1;
    }

  • Mach mal den debug modus an und poste was er dir ausgibt. Hast du alles richtig geschrieben?


    (Möglicherweise benutzt du ein anderes Plugin, versuch mal: mysql_fetch_field_row("Geld", data); wobei ich das nicht glaube, aber ein Versuch ist es dennoch wert.)

  • Jeffry:
    hat nichts gebracht das kam raus



    vllt ist auch was an der abfrage falsch?

  • Zitat

    [19:52:38] CMySQLHandler::FetchField(Geld) - You cannot call this function now. (Reason: Fields/Rows are empty.)


    Der Fehler ist hier:
    format(query,sizeof(query),"SELECT * FROM accounts WHERE `Name`='%s", SpielerName(playerid));
    Da fehlt ein ' nach %s.


    format(query,sizeof(query),"SELECT * FROM accounts WHERE `Name`='%s'", SpielerName(playerid));

  • Der Fehler ist hier:
    format(query,sizeof(query),"SELECT * FROM accounts WHERE `Name`='%s", SpielerName(playerid));
    Da fehlt ein ' nach %s.


    format(query,sizeof(query),"SELECT * FROM accounts WHERE `Name`='%s'", SpielerName(playerid));


    Den fehler hatte ich dann auch gefunden^^, aber hilft nichts, es kommt auch wieder die selbe meldung das es leer ist, aber es steht ein wert drin

  • Teste mal das hier


    stock LoadPlayer(playerid)
    {
    new query[128],data[64];
    format(query,sizeof(query),"SELECT * FROM accounts WHERE `Name`='%s' LIMIT 1;", SpielerName(playerid));
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row(data, "Geld");
    SpielerInfo[playerid][Geld]=strval(data);
    GivePlayerMoney(playerid,strval(data));
    printf("%d",strval(data));
    }
    }
    mysql_free_result();//WICHTIG nicht vergessen!!
    return 1;
    }

    All in all it's just another brick in the wall

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen