Lorsque PHP interroge le contenu du champ texte de la base de données MSSQL, si le contenu est trop long, une partie du contenu sera interceptée. Ce n'est peut-être pas le résultat que nous souhaitons Solution :
1.Modifiez le fichier php.ini
<.>
Ouvrez le fichier php.ini et recherchez mssql.textlimit Vous pouvez trouver le contenu suivant : (Apprentissage recommandé :
Tutoriel vidéo PHP)
;Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096
Copier après la connexion
Mettez mssql.textlimit. = 4096 et mssql.textsize = 4096 Supprimez le point-virgule devant les deux lignes, remplacez la valeur par une valeur plus grande et redémarrez le service.
2. Définir via ini_set
Ce qui précède est la solution lorsque vous disposez des droits de gestion du serveur. Peut-être que parfois nous n'avons pas les droits de gestion du serveur, nous ne pouvons donc le configurer que sur le programme.
@ini_set( mssql.textsize , 200000) ;
Copier après la connexion
Ajoutez cette phrase pour compléter le réglage.
3. Résolvez le problème en exécutant des instructions SQL
Par exemple : mssql_query ( 'SET TEXTSIZE 65536' , $myConn );
où , $myConn est l'identifiant de connexion de données. Il s'agit d'une manière d'écrire relativement primitive. Cela signifie exécuter une instruction SQL telle que « SET TEXTSIZE 65536 ».
Remarque : Si le type de champ est ntext, des caractères tronqués apparaîtront parfois, ce qui donne l'impression que le contenu a été intercepté anormalement. Dans ce cas, le contenu peut être converti en type texte dans l'instruction SQL, qui s'écrit comme suit :
select id,convert(text,content) as content from news
Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!