25-01-2010, 08:42 AM
Pour répondre à Zamentur : de ce que j'ai vu, il y a une conversion faite si le type attendu n'est pas le bon (par exemple, la table attends un entier et c'est un string qui est entré).
Au passage, il existe également un troisième paramètre aux deux options de bind (bindValue et bindParam) qui est le $data_type, et qui permet de forcer un type particulier de données. Il prend comme valeur une des constantes suivantes :
PDO:ARAM_BOOL
PDO:ARAM_NULL
PDO:ARAM_INT
PDO:ARAM_STR
PDO:ARAM_LOB (Représente un objet de type "large" en SQL, comme le contenu d'un champs de type blob par exemple)
PDO:ARAM_STMT (Représente un jeu de résultat d'une autre requête préparée, n'est pas supporté par tous les moteurs - aucune idée si MySQL le supporte ou pas)
PDO:ARAM_INPUT_OUTPUT (Je me contente de copier la doc vu que je ne comprends pas parfaitement ce paramètre : Spécifie que le paramètre est un paramètre INOUT pour une procédure stockée. Vous devez utiliser l'opérateur OR avec un type de données explicite PDO:ARAM_*. )
Sinon, la fin du tuto (il manque encore une partie) ce soir ou demain je pense
Au passage, il existe également un troisième paramètre aux deux options de bind (bindValue et bindParam) qui est le $data_type, et qui permet de forcer un type particulier de données. Il prend comme valeur une des constantes suivantes :
PDO:ARAM_BOOL
PDO:ARAM_NULL
PDO:ARAM_INT
PDO:ARAM_STR
PDO:ARAM_LOB (Représente un objet de type "large" en SQL, comme le contenu d'un champs de type blob par exemple)
PDO:ARAM_STMT (Représente un jeu de résultat d'une autre requête préparée, n'est pas supporté par tous les moteurs - aucune idée si MySQL le supporte ou pas)
PDO:ARAM_INPUT_OUTPUT (Je me contente de copier la doc vu que je ne comprends pas parfaitement ce paramètre : Spécifie que le paramètre est un paramètre INOUT pour une procédure stockée. Vous devez utiliser l'opérateur OR avec un type de données explicite PDO:ARAM_*. )
Sinon, la fin du tuto (il manque encore une partie) ce soir ou demain je pense