PHP PDO :: tipos de datos bindParam () ... ¿cómo funciona?
Me pregunto cuál es la declaración del tipo de datos enbindParam()
(obindValue()
) se utiliza para..
uiero decir, pensé que si definía un argumento entero PDO::PARAM_INT
), el argumento debe convertirse a un entero, algo así como
$delete->bindParam(1, $kill, PDO::PARAM_INT);
// should work like
$delete->bindParam(1, (int)$kill);
o al menos arrojar un error si el argumento no es del tipo declarado. Pero este no es el caso
Buscando en Google, encontré eso en el archivo php.net:
Hola a todos
Actualmente estoy trabajando en DOP. Exactamente en la función bindParam (). El tercer parámetro data_type parece estar aquí para forzar el tipo del valor? Pero cuando lo intento:
$sql = "INSERT INTO produit (idproduit, nom, marque) VALUES (NULL, :nom, :marque)";
$stmt = $dbh->prepare($sql);
$nom = 'Testarossa'; $marque = 'Ferrari' ;
$stmt->BindValue(':marque',$marque) ;
$stmt->BindParam(':nom',$nom,PDO::PARAM_INT) ;
$stmt->execute(); $nom = '250 GTO' ;
$stmt->execute(); ?>
Esperaba tener un error de PHP o un número entero en mi base de datos. Pero en mi DB tengo:
22 Testarossa Ferrari 23 250 GTO Ferrari
Significa que no cambió si tengo el tercer parámetro o no. O tal vez extraño algo. ¿Alguien puede tolerarme más? ¿O alguien puede decirme dónde puedo encontrar información al respecto?
Saludos
Cyruss
Esa es exactamente mi situación. ¿Dónde van mis pensamientos mal?