2017-09-03 1 views
-1

Dans ma base de données, j'ai une table appelée paramètres. Il a deux colonnes, name et value.zéro dans le champ varchar dans la table des paramètres

J'essaie d'insérer un numéro de téléphone, par exemple 0612345678 dedans.

Il continue de supprimer le zéro initial (résultat 612345678).

J'utilise $value = strval($value); pour être sûr que PHP passe la valeur sous forme de chaîne (ce que je peux confirmer, fonctionne).

Est-ce un paramètre par défaut MySQL ou puis-je résoudre ce problème?

+0

valeurs Entiers ne peut commencer par 0. –

+1

type de 'value' de données? montre votre commande 'CREATE TABLE'. –

+0

Si c'est un varchar, ce devrait être la chaîne et ne pas enlever les zéros en tête. Vous avez dit que vous aviez confirmé que PHP était la bonne valeur? Pouvez-vous montrer comment vous l'insérez? – Qirel

Répondre

0

Si vous voulez continuer à zéro, vous devez stocker les valeurs dans une colonne de type chaîne (qui, je suppose, est un entier maintenant soit en PHP, soit en MySQL).

L'autre option est d'ajouter le numéro lors de la sélection (non recommandé)

SELECT LPAD(Column, <lengthOfOriginalNumber>, '0') 
+1

Les colonnes sont' varchar' ... donc c'est une colonne de type chaîne ... – LinkinTED

0

Il ressemble soit php ou MySQL est de convertir le numéro de téléphone dans un number et, par conséquent, zéros sont supprimés.

  • Si c'est php alors vous pouvez utiliser la fonction strval pour obtenir la valeur de chaîne (expliqué here). En outre, vous pouvez essayer d'imprimer la valeur avant qu'elle ne soit envoyée à MySQL pour voir le résultat après la conversion.

  • Si c'est MySQL alors vous devez changer le type de colonne à varchar, par exemple .:

    ALTER TABLE table MODIFY phone_number VARCHAR(20);

+0

Les deux conversions sont déjà là . OP déjà mentionné que en question –

+1

Merci pour votre réponse, cependant, j'utilise 'strval', voir question.Et j'utilise une colonne varchar, voir le titre. – LinkinTED

+0

@LinkinTED dans ce cas, pouvez-vous essayer d'imprimer '$ value' dans la console après la conversion, pour voir quelle est la nouvelle valeur? –