Por que precisamos especificar o tipo de parâmetro em bindParam ()?
Eu sou um pouco confuso sobre a razão pela qual precisamos especificar o tipo de dados que passamos na função bindParam () no PDO em Php. Por exemplo, esta consulta:
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
Existe um risco de segurança se eu não especificar o terceiro parâmetro. Quero dizer, se eu apenas fizer no bindParam ():
$sth->bindParam(1, $calories);
$sth->bindParam(2, $colour);