Chaine de caractère php
Résolu/Fermé
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
-
7 mars 2008 à 10:07
Kaly - 23 juil. 2009 à 17:04
Kaly - 23 juil. 2009 à 17:04
A voir également:
- Chaine de caractère php
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractère spéciaux mac clavier - Guide
- Chaine tnt gratuite sur mobile - Guide
8 réponses
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
7
7 mars 2008 à 12:21
7 mars 2008 à 12:21
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"
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 mars 2008 à 10:13
7 mars 2008 à 10:13
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) ?
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
7
7 mars 2008 à 10:38
7 mars 2008 à 10:38
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
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 mars 2008 à 10:43
7 mars 2008 à 10:43
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 ?
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
7
7 mars 2008 à 10:53
7 mars 2008 à 10:53
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
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 mars 2008 à 10:58
7 mars 2008 à 10:58
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"]); }
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
7
7 mars 2008 à 11:12
7 mars 2008 à 11:12
OK j'essaye de suite
désolé pour le retard mais je cherche aussi de mon coté.
désolé pour le retard mais je cherche aussi de mon coté.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
7
7 mars 2008 à 11:56
7 mars 2008 à 11:56
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
grossben
Messages postés
25
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
12 mars 2008
7
7 mars 2008 à 11:23
7 mars 2008 à 11:23
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..."
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 mars 2008 à 11:36
7 mars 2008 à 11:36
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 ?