mi chiedo che cosa la dichiarazione del tipo di dati in bindParam()
(o bindValue()
) viene utilizzato per ...PHP DOP :: bindParam() tipi di dati .. come funziona?
Voglio dire, ho pensato che se io definisco come argomento un intero (PDO::PARAM_INT
), l'argomento deve essere convertito a un numero intero, ad esempio
$delete->bindParam(1, $kill, PDO::PARAM_INT);
// should work like
$delete->bindParam(1, (int)$kill);
o almeno lanciare un errore se l'argomento non è del tipo dichiarato. Ma questo non è il caso.
Googling intorno, ho scoperto che nell'archivio php.net:
Ciao a tutti,
Attualmente sto lavorando sulla DOP. Esattamente sulla funzione bindParam(). Il terzo parametro data_type sembra essere qui per forzare il tipo del valore? Ma quando provo:
$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(); ?>
mi aspettavo di avere sia un errore di PHP o un numero intero nel mio database. Ma nel mio DB ho:
22 Testarossa Ferrari 250 GTO 23 Ferrari
E significa che non cambia se ho ho il terzo parametro o meno. O forse mi manca qualcosa. Può qualcuno aggiungermi di più? O semplicemente qualcuno può dirmi a dove posso trovare informazioni su .
saluti,
Cyruss
Questo è esattamente la mia situazione. Dove sono i miei pensieri che stanno andando male?
"Mi aspettavo di avere un errore PHP o un interger nel mio database." anche io – VolkerK