>백엔드 개발 >PHP 튜토리얼 >MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션

MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션

WBOY
WBOY원래의
2016-07-29 09:13:581190검색

PHP에서는 MSSQL 데이터베이스를 사용했는데, 데이터베이스에서 Text형 필드를 사용하는 일이 발생하여 문제가 발생했습니다. 데이터베이스에서 데이터를 쿼리할 때마다 설명할 수 없을 정도로 항상 잘립니다. 처음에는 제가 사용한 PHP 프레임워크에 문자열 길이에 제한이 있는 줄 알았습니다. 어리석은 생각입니다. 데이터를 제출할 때 모든 문자열 내용을 데이터베이스에 제출할 수 있지만 이러한 현상은 읽을 때만 발생하므로 비슷한 문제가 있는지 온라인으로 검색했습니다. 운이 좋게도 첫 번째 검색에서 해결책을 찾았기 때문에 저 자신과 대부분의 PHP 애호가들의 가끔 필요에 따라 제 블로그에 다시 게시하기로 결정했습니다.
다음과 같은 두 가지 해결 방법이 있습니다.
1. 이를 달성하기 위해 php.ini를 수정합니다.
php.ini를 열면 mssql.textsize 및 mssql.textlimit의 두 가지 옵션이 표시됩니다.
; 유효한 범위는 0 - 2147483647. 기본값 = 4096.
;mssql.textlimit = 4096
; 유효한 범위는 0 - 2147483647. 기본값 = 4096.
;mssql.textsize = 4096
기본 구성은 4096바이트이며 종종 4K로 잘립니다. 적절한 크기로 변경하고 앞에 있는 세미콜론을 제거한 다음 웹 서버를 저장하고 다시 시작합니다.
위의 두 가지 옵션을 보면 범위가 0 - 2147483647바이트임을 알 수 있습니다.

MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션if(MS_SQL_G(textlimit)!=-1){
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션
sprintf(버퍼,"%li ",MS_SQL_G(textlimit));
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션
if(DBSETOPT(mssql.링크,DBTEXTLIMIT,버퍼)== 실패){
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션efree(hashed_details);
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션dbfreelogin(mssql
.login);
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션RETURN_FALSE;
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션}
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션}
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션
if(MS_SQL_G(textsize)!=-1){
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션
sprintf(버퍼,"SETTEXTSIZE%li",MS_SQL_G(textsize));
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션dbcmd(mssql
.링크,버퍼);
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션dbsqlexec(mssql
.링크 );
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션dbresults(mssql
.link);
MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션}

2. PHP에서 다음에서 SELECT 쿼리를 실행하기 전에 SET TEXTSIZE를 실행하세요.

MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 이유에 대한 솔루션mssql_query("SETTEXTSIZE65536" );

위 PHP 소스코드를 보면 알 수 있듯이 SET TEXTSIZE도 실행된다.

위의 방법으로도 문제가 해결되지 않으면 쿼리문에서 CAST 함수를 사용해 볼 수 있습니다.

위 내용은 PHP 프레임워크의 내용을 포함하여 MSSQL 데이터베이스의 텍스트 유형 필드가 PHP에서 잘리는 문제에 대한 해결책을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.