MS SQL / PHP yuvarlayan tamsayı sonuç metni

3 Cevap php

Ben bir alan seçerek bir MS SQL sorgu var ve o 257 karakter metni keserek nedense kapalı kıyılmış ediliyor.

MSSQL ve PHP ile sonuçlarını almak için varsayılan kesme çeşit var mı?

Ben bu neden oluyor olarak dürüst clueless değilim. HERHANGİ rehberlik büyük mutluluk duyacağız

Alan türü "karakter" dir

Here is a screen shot of my MS SQL config from phpinfo() alt text

o mssql.textlimit veya mssql.textsize değeri olabilir?

3 Cevap

Her nasılsa veri türü görünüşte 255 karakterle sınırlıdır "karakter" dir. AMA DB fazla 255 karakter depoluyor.

METİN alanını dönüştürme nedense mükemmel çalışıyor.

SELECT CONVERT(TEXT,fld_name) FROM TABLE_NAME

Sorun TDS protokolü sürüm 4.2 kullanıyorsanız muhtemeldir. Siz / etc / freetds.conf bu ayarlayarak en az 7.0 yükseltmeniz gerekiyor:

tds version = 7.0

Sürüm 4.2 sınırlamalar şunlardır:

  • ASCII sadece
  • RPC desteklenmez.
  • BCP desteklenmez.
  • varchar fields are limited to 255 characters. If your table defines longer fields, they'll be truncated.
  • (ayrıca hazırlanmış tablolar denir) dinamik sorguları desteklenmez.

Daha fazla ayrıntı için bkz: http://freetds.schemamania.org/userguide/choosingtdsprotocol.htm

Kimden mysql manual:

CHAR sütunun uzunluğu Eğer tablo oluşturduğunuzda ilan uzunluğu sabittir. Uzunluğu 0-255 herhangi bir değer olabilir.

MYSQL benim sürümü, ben yukarıda şartnamesine göre, için 255 karakterden daha uzun bir karakter alanını ayarlayın olamaz.

Eğer karakter kullanmanız gerekir herhangi bir neden var mı? Yerine metin veya damla veya varchar kullanmayı deneyin.