MySQL-Schelfie?!

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
  • Hey,
    Mein Ziel ist es eine Liste bestimmter Einträge anzuzeigen.
    mein Code:
    new str[512],dest[2][128],query[128],string[512];
    format(query,128,"SELECT Kontonummer,Pinn FROM `bank` WHERE 'SpielerID' = '%d'",GetPlayerID(playerid));
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row(str))
    {
    mysql_fetch_field("Kontonummer", dest[0]);//16
    mysql_fetch_field("Pinn", dest[1]);
    format(string,512,"%s\nKontonummer: %d Pinn: %d",string,dest[0],dest[1]);
    }


    Plugin:[ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)
    Errors:

    Code
    (16) : error 035: argument type mismatch (argument 1)
    (17) : error 035: argument type mismatch (argument 1)


    mfg

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • das ist auch ein zweidimensionales array


    ,dest[2][128]dest[0]

    und du verwendest das falsch


    Nein, da es zu nächst ein Array ist und beide Variablen dann als String funktionieren.

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • mysql_fetch_field erwartet als ersten parameter den Index des Feldes als Integer, nicht als String. Also erstes Feld = 0, Zweiter = 1 usw.
    Was du wahrscheinlich willst ist mysql_fetch_field_row bzw das mysql_get_field makro. Bei mysql_fetch_field_row werden die beiden parameter allerdings vertauscht, also aufpassen^^
    //[...]
    while(mysql_fetch_row(str))
    {
    mysql_fetch_field_row(dest[0], "Kontonummer");//16
    mysql_get_field("Pinn", dest[1]);
    format(string,512,"%s\nKontonummer: %d Pinn: %d",string,dest[0],dest[1]);
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • new str[512],dest[2],query[128],string[512];
    format(query,128,"SELECT Kontonummer,Pinn FROM bank WHERE SpielerID = '%d'",GetPlayerID(playerid));
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(str))
    {
    mysql_fetch_field_row(dest[0],"Kontonummer");//16
    mysql_fetch_field_row(dest[1],"Pinn");
    format(string,512,"%s\nKontonummer: %d Pinn: %d",string,dest[0],dest[1]);
    }
    so hab ich es, aber der Dialog liefert Daten, die noch nichtmals inenr Datenbank stehen!

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Naja, irgendwie macht das auch nicht viel sinn, glaub ich. Die schleife wird normalerweise dafür benutzt, um mehrere Reihen aus der Tabelle zu verarbeiten. Bei deiner Query bekommst du allerdings nur 2 Felder, und zwar Die Kontonummer und den Pin des Spielers. Wofür dann also die Schleife?

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Naja, irgendwie macht das auch nicht viel sinn, glaub ich. Die schleife wird normalerweise dafür benutzt, um mehrere Reihen aus der Tabelle zu verarbeiten. Bei deiner Query bekommst du allerdings nur 2 Felder, und zwar Die Kontonummer und den Pin des Spielers. Wofür dann also die Schleife?


    Da jeder Spielr mehrere Konten haben kann

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Oh, sroyy, dann ist die schleife natürlich richtig^^
    Was für falsche daten werden denn geliefert? Und eventuell sollteste mal das debuggen aktivieren (sofern du das noch nicht getan hast) und schauen ob da was drin steht was helfen könnte.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • So Wenn ich hier drüber

    mysql_fetch_field_row(dest[0],"Kontonummer");//16
    mysql_fetch_field_row(dest[1],"Pinn");
    Ein Print machen, werden dort die richtigen Daten ausgegeben
    Aber anscheinend geben die die falschen daten aus


    //edit gefixxt, dest hatte ich als string entfernt, nun wieder als string angegeben und dann hats funktioniert :)

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !