原因可能是:php对mssql的ntext类型的支撑问题;

今日弄了半响,分明能够链接到数据库,却不能读取的数据。Google,百度一番之后总算知道了,原来是php读取mssql的ntext字段反回值为空的,主张能够把ntext字段改成text。

假如是表里边没有ntext字段,能够用以下代码:

//ConnecttoMSSQL

$link=mssql_connect('KALLESPC\SQLEXPRESS','sa','phpfi');

if(!$link||!mssql_select_db('php',$link))

{

die('Unabletoconnectorselectdatabase!');

}

//Doasimplequery,selectpeversionof

//MSSQLandprintit.

$version=mssql_query('SELECT@@VERSION');

$row=mssql_fetch_array($version);

echo$row[0];

//Cleanup

mssql_free_result($version);

?>

假如表里边有ntext军字段,且欠好修正回text字段,能够如下:

1.修正php.ini

翻开php.ini

找到:

;百度推行问答营销"mssql.textlimit=4096

改为

mssql.textlimit=2147483647

找到:

;mssql.textsize=4096

改为

mssql.textsize=2147483647

2.能够运用修正字段,因为sqlserver中,ntext和nvarchar字段是用unicode编码存储内容的,因而php经过mssql扩展读取带ntext和nvarchar类型字段的时分会抱错。

假如title字段类型为nvarchar,content字段类型为ntext,那么下面的sql句子会报错:

错的:

selecttitle,contentfromarticle

正确的:

selectconvert(varchar(255),title)astitle,convert(text,content)ascontentfromarticle

3.假如你是虚拟主机,能够运用adodb组件来读取。假如你主机不支撑,现在笔者也没办法了。

日本投资移民(300546千股千评)

include(adodb/adodb.inc.php);//包括adodb类库文件

$conn=NewADOConnection('odbc_mssql');//衔接SQLServer数据库

$conn->Connect(Driver={SQLServer}络口碑营销计划";Server=localhost;Database=mydb;,'username','password');

?>

;

文章来自:软文ruanwen.tingclouds