Salut à tous
Je me pose la question de l'utilité du 3ème paramètre qu'attend la méthode BindValue() (et BindParam() aussi) qui est une constante définissant le type de donnée.
Cependant, j'ai beau faire des essai en indiquant explicitement le "type", j'ai l'impression que cela n'a strictement aucun effet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
Exemple :Je m'attendais à une sorte de typage, que PDO transtyperait cette donnée, et comme c'est une chaine, 0 serait retournée, enregistrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $sStmt = $db->prepare('UPDATE table SET une_chaine = :chaine'); $sStmt->bindValue(':chaine', 'Une chaine', PDO::PARAM_INT); $sStmt->execute();
Où alors, un retour d'erreur, une exception serait déclenchée du faite d'une donnée non conforme au type.
Mais non ... rien.
Du coup, que je mette PARAM_INT, PARAM_NULL, PARAM_LOB, PARAM_BOOL ... les modifs ont lieu, comme si de rien était.
Pourquoi donc il y a rien qui se passe ?
Est ce lié à la base de donnée ? (J'ai fait cet essai que sur MySQL)
Au moteur MySQL ? (des essais que sur MyISAM)
Ou alors c'est juste là pour qu'on l'exploite soit même ?
Merci pour toutes explications![]()
Partager