mssql_fetch_array

  • Hay bin gerade am rumprobieren mit einem Flyff Inventory Auslese Script..

    da hab ich nun ein problem, und zwar bei dieser ganz normalen Abfrage:

    PHP
    $res = mssql_query("SELECT m_Inventory FROM INVENTORY_TBL WHERE m_idPlayer = '00000xx'");
    $TrGo2 = mssql_fetch_array($res);
     $TrGo = $TrGo2[0];
    echo $TrGo;


    sollte eigentlich:

    Zitat

    0,502,0,0,,1,0,9000000,0,0,0,1607076666,0,0,0,0,0/1,26460,0,0,,8969,0,-1,0,0,0,706112759,0,0,0,0,0/5,10206,0,0,,60,0,-1,0,0,0,402779538,0,0,0,0,0/6,10426,0,0,,60,0,-1,0,0,0,-1608461469,0,0,0,0,0/7,10210,0,0,,20,0,-1,0,0,0,-806069408,0,0,0,0,0/8,10208,0,0,,20,0,-1,0,0,0,186800153,0,0,0,0,0/9,10207,0,0,,20,0,-1,0,0,0,-1328721698,0,0,0,0,0/10,10218,0,0,,20,0,-1,0,0,0,-1077722433,0,0,0,0,0/11,10432,0,0,,40,0,-1,0,0,0,1127468428,0,0,0,0,0/12,10490,0,0,,40,0,-1,0,0,0,-336110379,0,0,0,0,0/15,3232,0,0,,1,0,-1,0,0,0,-858975344,0,0,0,0,0/16,26460,0,0,,1,0,-1,0,0,0,-598892633,0,0,0,0,0/26,10208,0,0,,1,0,-1,0,0,0,-1395538876,0,0,0,0,0/42,506,0,0,,1,0,5850000,0,0,0,1013886945,0,0,0,0,0/43,510,0,0,,1,0,4500000,0,0,0,-1648516858,0,0,0,0,0/44,21,0,0,,1,0,7191600,0,0,0,24220615,0,0,0,0,0/$

    Da dies aber anscheinend zu lang ist maximiert sich dies auf:

    Zitat

    0,502,0,0,,1,0,9000000,0,0,0,1607076666,0,0,0,0,0/1,26460,0,0,,8969,0,-1,0,0,0,706112759,0,0,0,0,0/5,10206,0,0,,60,0,-1,0,0,0,402779538,0,0,0,0,0/6,10426,0,0,,60,0,-1,0,0,0,-1608461469,0,0,0,0,0/7,10210,0,0,,20,0,-1,0,0,0,-806069408,0,0,0,0,0/8,10208,0,0,


    Jetzt kommt meine Frage und zwar warum schneidet die Abfrage den Inhalt einfach ab? Bzw. gibt es eine andere Lösung den gesamten Inhalt einer Spalte egal wie lang der Inhalt ist auszulesen/auszugeben?

    [COLOR=#000000][COLOR=#FF8000][CENTER]
    [/CENTER]
    [/COLOR][/COLOR]

  • Dann kommt das:

    Zitat

    Array ( [0] => 0,502,0,0,,1,0,9000000,0,0,0,1607076666,0,0,0,0,0/1,26460,0,0,,8969,0,-1,0,0,0,706112759,0,0,0,0,0/5,10206,0,0,,60,0,-1,0,0,0,402779538,0,0,0,0,0/6,10426,0,0,,60,0,-1,0,0,0,-1608461469,0,0,0,0,0/7,10210,0,0,,20,0,-1,0,0,0,-806069408,0,0,0,0,0/8,10208,0,0, [m_Inventory] => 0,502,0,0,,1,0,9000000,0,0,0,1607076666,0,0,0,0,0/1,26460,0,0,,8969,0,-1,0,0,0,706112759,0,0,0,0,0/5,10206,0,0,,60,0,-1,0,0,0,402779538,0,0,0,0,0/6,10426,0,0,,60,0,-1,0,0,0,-1608461469,0,0,0,0,0/7,10210,0,0,,20,0,-1,0,0,0,-806069408,0,0,0,0,0/8,10208,0,0, )

    [COLOR=#000000][COLOR=#FF8000][CENTER]
    [/CENTER]
    [/COLOR][/COLOR]

  • Zitat

    Array ( [m_Inventory] => 0,502,0,0,,1,0,9000000,0,0,0,1607076666,0,0,0,0,0/1,26460,0,0,,8969,0,-1,0,0,0,706112759,0,0,0,0,0/5,10206,0,0,,60,0,-1,0,0,0,402779538,0,0,0,0,0/6,10426,0,0,,60,0,-1,0,0,0,-1608461469,0,0,0,0,0/7,10210,0,0,,20,0,-1,0,0,0,-806069408,0,0,0,0,0/8,10208,0,0, )

    Da kommt dann auch nur die hälfte bei raus :/

    [COLOR=#000000][COLOR=#FF8000][CENTER]
    [/CENTER]
    [/COLOR][/COLOR]

  • ulle: Das macht schon Sinn - siehe Doku: PHP: mssql_fetch_array - Manual
    Sofern der Ergebnistyp nicht über den entspr. Parameter spezifiert wird, gibt es die Daten zweimal (mit unterschiedlichem Index).

    In den Kommentaren steht übrigens auch die Lösung zum Problem:

    Zitat

    Note that if you fetch varchar fields larger than 255 letters the result will be cut off at 255 letters.

    To prevent this you have to do a CONVERT(TEXT,data_field) for this fields in your select clause.


    Doku bez. MSSQL: CAST und CONVERT (Transact-SQL)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!