mssql_fetch_array

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • 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-Quellcode

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

      sollte eigentlich:
      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:

      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?
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Dann kommt das:
      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, )
    • 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 :/
    • @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:
      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)