Quel est le meilleur moyen de lier décimal / double / valeurs float avec PDO en PHP?
Il semble que les constantes de classe seulement couvrir PDO::PARAM_BOOL
, PDO::PARAM_INT
et PDO::PARAM_STR
pour la liaison. Avez-vous juste de lier décimal /float /double des valeurs comme des chaînes de caractères ou est-il une meilleure façon de traiter?
MySQLi permet le " d " de type double, il est surprenant de constater que PDO n'a pas d'équivalent quand il semble préférable, dans de nombreuses autres façons.
OriginalL'auteur Rob | 2009-08-26
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, PDO::PARAM_STR est le chemin à parcourir.
Pour ceux qui ne connaissent pas, la syntaxe est la suivante:
$sth->bindParam(':keyword', $keyword, PDO::PARAM_STR);
OriginalL'auteur Alix Axel
Vous devez utiliser PDO::PARAM_STR, mais pour SQLite et les autres moteurs, ce qui peut avoir des comportements imprévisibles. Voir à ce problème pour un exemple: SQLite AVOIR de comparaison d'erreur
OriginalL'auteur Dan Blaisdell
Si vous voulez vraiment utiliser PDO, vous aurez à entrer comme un
PARAM_INT
, mais je n'ai jamais utiliser une spécification pourdouble
.C'est un paramètre facultatif pour spécifier le
PDO
type.Je pense que vous feriez mieux de ne pas définir la
PDO
type dedouble
s.En fait, si aucune param_TYPE est donné, alors PARAM_STR est supposé.
Vous n'avez pas et ne devrait pas lier comme un entier ou vous risquez de perdre des données! Lire @AlixAxel répondre à la place.
OriginalL'auteur Kennethvr