Chaine de caractère php
Résolu
grossben
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Kaly -
Kaly -
Bonjour,
Je suis en train de dévelloper un programme en php
mon probleme est que lorsque je fais une requette sql et qu'il me renvoi une chaine de caractère de plus de 255 caractère seulement les 255 premiers caractère son transféré vers php. je pense qu'il sagit des variable php qui ne peuvent pas dépasser 255 caractère.
Aidez moi svp a trouver comment faire pour augementer le nbr de caractère de ces variables.
Merci
Je suis en train de dévelloper un programme en php
mon probleme est que lorsque je fais une requette sql et qu'il me renvoi une chaine de caractère de plus de 255 caractère seulement les 255 premiers caractère son transféré vers php. je pense qu'il sagit des variable php qui ne peuvent pas dépasser 255 caractère.
Aidez moi svp a trouver comment faire pour augementer le nbr de caractère de ces variables.
Merci
A voir également:
- Chaine de caractère php
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
8 réponses
J'ais réusis mais c'est une sacré bidouile
premièrement, si on utilise un type ntext dans la bdd, il faut configurer php.ini
- mssql.textsize :524288
- mssql.textlimit :524288
pour que le nombre de caractère soit supérieur. le problème, c'est que php a apperement du mal a exploiter ce type de donné
j'ai finalement modifier ma requete pour pouvoir utiliser des donées varchar:
SELECT CAST(["colone"] AS TEXT) as "colone" FROM "table"
premièrement, si on utilise un type ntext dans la bdd, il faut configurer php.ini
- mssql.textsize :524288
- mssql.textlimit :524288
pour que le nombre de caractère soit supérieur. le problème, c'est que php a apperement du mal a exploiter ce type de donné
j'ai finalement modifier ma requete pour pouvoir utiliser des donées varchar:
SELECT CAST(["colone"] AS TEXT) as "colone" FROM "table"
Bonjour,
Ca me paraitrait bizarre que tu ne puisse pas avoir un résultat de plus de 255 caractères... ou alors c'est que tu as mal défini ton champs (le type du champ) dans la base de données.
Si tu as un champs susceptible de recevoir plus de 255 caractères, ne le met pas en VARCHAR mais enTEXT.
Qu'a tu fais au niveau de ta base de données pour ce (ou ces) champ(s) ?
Ca me paraitrait bizarre que tu ne puisse pas avoir un résultat de plus de 255 caractères... ou alors c'est que tu as mal défini ton champs (le type du champ) dans la base de données.
Si tu as un champs susceptible de recevoir plus de 255 caractères, ne le met pas en VARCHAR mais enTEXT.
Qu'a tu fais au niveau de ta base de données pour ce (ou ces) champ(s) ?
Merci de m'avoir répondu
Au niveau de la base, j'ai mis un varchar (500) avec NULL possible
ce qui est bizzar, c'est que lorsque j'envois 500 caractères dans la bdd (via PHP), on les retrouves bien dans le champs. Le probleme intervient vraiement lorsque j'essais de recharger cette chaine de caractère pour l'afficher sur ma page HTML. C'est pour cela que je pense que les probleme vient d'une limitation du nombre de caractère au niveau des variables PHP.
Merci
Au niveau de la base, j'ai mis un varchar (500) avec NULL possible
ce qui est bizzar, c'est que lorsque j'envois 500 caractères dans la bdd (via PHP), on les retrouves bien dans le champs. Le probleme intervient vraiement lorsque j'essais de recharger cette chaine de caractère pour l'afficher sur ma page HTML. C'est pour cela que je pense que les probleme vient d'une limitation du nombre de caractère au niveau des variables PHP.
Merci
Non ça ne peut pas être les variables PHP. Je fais des choses similaire sur un site pour lequel j'ai des descriptions comportant de nombreux caractères et ça fonctionne très bien.
Si dans ta base de données tu as bien tous les champs, peut-être que ça vient du composant dans lequel tu affiche ta chaine de caractère ?
Tu l'affiche dans quoi exactement ? Un simple textfield ? Sa longueur est peut être modifiée et donc limitée à 255 ?
Si tu met ça dans un textarea est ce que le text s'affiche correctement ? Ou alors dans une div tout simplement ?
Si dans ta base de données tu as bien tous les champs, peut-être que ça vient du composant dans lequel tu affiche ta chaine de caractère ?
Tu l'affiche dans quoi exactement ? Un simple textfield ? Sa longueur est peut être modifiée et donc limitée à 255 ?
Si tu met ça dans un textarea est ce que le text s'affiche correctement ? Ou alors dans une div tout simplement ?
OK
Je fais deux choses avec ce text:
-je l'affiche directement sur la page : echo $result['TEXT']; avec result le resulta de la requette
-et je le met dans un textarea <textarea name="consigne" rows="10" cols="50"><?php echo $result['TEXT']; ?></textarea>
Dans les deux cas je n'ais que 255 carractère. Qu'il y'ait ou pas de espace, il se passe la même chose.
D'après ta réponse, je me demande si SQL SERVEUR 2005 ne limite pas le nombre de caratères transféré.
Merci
Je fais deux choses avec ce text:
-je l'affiche directement sur la page : echo $result['TEXT']; avec result le resulta de la requette
-et je le met dans un textarea <textarea name="consigne" rows="10" cols="50"><?php echo $result['TEXT']; ?></textarea>
Dans les deux cas je n'ais que 255 carractère. Qu'il y'ait ou pas de espace, il se passe la même chose.
D'après ta réponse, je me demande si SQL SERVEUR 2005 ne limite pas le nombre de caratères transféré.
Merci
Je n'ai jamais utilisé Serveur SQL 2005, mais un moyen simple de le vérifier serait d'afficher la taille des données récupérées suite à ta requête SQL :
$result = @mysql_query("SELECT ...",$conn); while ( $line = @mysql_fetch_assoc($result) ){ echo "Nb caractères : ".sizeof($line["MonChamp"]); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui je l'ai fait, dans sql ca marche et j'ai bien les 500 char.
Par contre j'ai trouver sur le net une piste. il partait qu'il y'a une config a faire dans php.ini
si je trouve, je t'informe
Par contre j'ai trouver sur le net une piste. il partait qu'il y'a une config a faire dans php.ini
si je trouve, je t'informe
il y'a un probleme,
je travail en SQL et non pas MYSQL
et aparement mssql_fetch_assoc (qui exist aussi) me renvoi l'erreur "supplied argument is not a valid ms sql-result resource in..."
je travail en SQL et non pas MYSQL
et aparement mssql_fetch_assoc (qui exist aussi) me renvoi l'erreur "supplied argument is not a valid ms sql-result resource in..."
Ca peut aussi venir de ta requête qui est mauvaise, et du coup $result étant mauvais, l'argument passé à mssql_fetch_assoc fait planter ton instruction.
Est ce que tu as testé ta requete SQL directement sur la base (à la main, sans script, via une interface ou un ligne de commande) pour t'assurer qu'elle soit bonne ?
Est ce que tu as testé ta requete SQL directement sur la base (à la main, sans script, via une interface ou un ligne de commande) pour t'assurer qu'elle soit bonne ?