Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2011, 14h16   #1
Membre habitué
 
Femme Chris
Développeur Web
Inscription : mai 2010
Messages : 225
Détails du profil
Informations personnelles :
Nom : Femme Chris
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 225
Points : 103
Points : 103
Par défaut eviter le complétation d'un login avec des espaces

Bonjour,
j'ai une table utilisateur avec un id,login, mot de passe ....
Mon problème actuelle concerne le champs login. ce champs est de type char(25).
J'ai crée un utilisateur ayant comme login='chris' directement en ligne de commande.

Le problème quand je fais un echo $Cuser->login, il m'affiche chris avec plein d'espace derrière pour atteindre 25 caractère. Donc quand je veux faire des tester if ($cuser->login='chris') cela marche pas il faut que j’écrive :
if ($cuser->login='chris ') avec 20 espaces pour que cela fonctionne.

Comment éviter que le login soit complété par des espaces ?

Merci d'avance.

ps: ma version de postgres est la 8.4
chris0938 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h13   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 507
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 507
Points : 2 037
Points : 2 037
Il ne faut utiliser le type CHAR(n) que lorsque justement, on désire ce comportement d'ajout automatique d'espaces.
Sinon il faut utiliser le type VARCHAR(n) à la place.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h30   #3
Membre habitué
 
Femme Chris
Développeur Web
Inscription : mai 2010
Messages : 225
Détails du profil
Informations personnelles :
Nom : Femme Chris
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 225
Points : 103
Points : 103
ah ok merci je ne savais pas.
je vais aller corriger tout ça.

merci a nouveau.
chris0938 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 17h24   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Citation:
Envoyé par estofilo Voir le message
Il ne faut utiliser le type CHAR(n) que lorsque justement, on désire ce comportement d'ajout automatique d'espaces.
Sinon il faut utiliser le type VARCHAR(n) à la place.
Non je ne dirais pas cela. Le problèmes des espaces n'est qu'un épiphénomène réglable par les vues. (ce qu'hélas peu de gens font).
En revanche il y a plein d'intérêt à mettre des CHAR et non du VARCHAR dans bien des cas, à commencer par la fragmentation liée notamment aux index !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h20.


 
 
 
 
Partenaires

Hébergement Web