2010-12-09 2 views
2

Ich führe eine in PHP geschriebene Webanwendung, die eine Verbindung zu einer MSSQL-Datenbank herstellt.
Der ursprüngliche Entwickler verwendete http://adodb.sourceforge.net/ als seine Datenbankbibliothek.Wie lese ich eine Zeichenfolge> 255 Zeichen in PHP/Adodb?

Das Problem besteht darin, beim Lesen von Daten mit der GetAll -Methode, alle Zeichenfolgen auf 255 Zeichen abgeschnitten.

Hat jemand eine Lösung für mein Problem?

bearbeiten: Die Spalte I mit einem Problem habe ein varchar(800)

Antwort

0

Können Sie die letzte Spalte separat mit bekommen:

SELECT SUBSTRING (longfield,1,200) as Part1, SUBSTRING (longfield,201,200) as Part2, SUBSTRING (longfield,401,200) as Part3, SUBSTRING (longfield,601,200) as Part4 

?

Sie können dann die Spalten wieder zusammenkleben. Möglicherweise benötigen Sie spezielle Fälle, in denen die Zeichenfolge nicht wirklich so lang ist.

-1

Ich habe keine Probleme mit ADODB in PHP, um MSSQL abzufragen. Ich schreibe Abfragen auf folgende Weise:

<?php 
// assuming $db is properly configured and connected ADODB database object 
$rs = $db->Execute("SELECT ..."); 
while (!$rs->EOF) { 
    print $rs->fields['fieldname']; 
    // further processing of row 
    $rs->MoveNext(); // move to the next row 
} 
2

Was genau können Sie ändern?

ich auf diesen Artikel gestolpert, die helfen können: ADODB Varchar Limit Problem

Was es Sie versuchen, scheint darauf hinzudeuten ist:

    Ihre Spaltentyp
  1. In der select-Anweisung varchar-text ändern
  2. , einen CAST für die Spalte festlegen:

dh

select CAST(MyColumn as text) as MyColumn 

Die Post zitiert die folgenden zwei Artikel, die die oben

up zurück http://php.oregonstate.edu/manual/en/ref.mssql.php#47527

http://php.oregonstate.edu/manual/en/ref.mssql.php#71602

this helps

-1

Ihre Überprüfen Sie, ob Sie mit DISTINCT und GROUP BY - Anweisungen, scheint "Kürzung bei Textfeldern bei der Verwendung von DISTINCT und GROUP BY - Anweisungen wegen des Overheads von Vergleichen von Strings mit variabler Länge im Gegensatz zu Strings mit fester Länge ".

Link

+0

Sie sind offensichtlich etwas zu zitieren. Möchten Sie den Link einschließen? –

+0

Ich bin und ich stellte den Link auf "Link", aber hier gehen Sie [http://bytes.com/topic/php/answers/717087-text-truncated-255-chars-odbc](http://bytes. com/topic/php/Antworten/717087-text-truncated-255-chars-odbc) – madkris24

0

Versuchen Sie ersetzen alle "255" bis "800" oder "MAX" in drivers \ adodb-mssql.inc.

Oder es nur werfen, nicht Änderung text Datentyp, text ist deprecated