2010-11-23 6 views
3

Le code PHP suivant:Comment conserver int long pendant la conversion de chaîne PHP?

$someID = 124234454288758; 
$queryStr => "SELECT a FROM b WHERE some_id = {$someID}"; 

est converti en:

"SELECT a FROM b WHERE some_id = 1.2423445428876E+14" 

Comment puis-je obtenir la chaîne de résultat que:

"SELECT a FROM b WHERE some_id = 124234454288758" 

Merci!

Répondre

1

Puisque vous ne faites aucun calcul avec le nombre (puisqu'il s'agit simplement d'une clé unique), pourquoi ne pas le stocker sous forme de chaîne.

$someID = "124234454288758"; 

De même, il est à noter que la création de requêtes SQL de ce type est souvent ouverte à l'injection SQL. Vous devriez probablement envisager d'utiliser PDO et c'est la fonctionnalité prepare.

+0

le nombre peut être le résultat d'un autre calcul. – ohho

+1

@ohho Quelque chose "sent", pourriez-vous fournir un peu plus de contexte pour le problème? –

+0

l'ai obtenu ;-) Je dois m'assurer que $ someID ne perd pas la précision en premier. Merci! – ohho