Зачем нам нужно указывать тип параметра в bindParam ()?

Я немного запутался, почему нам нужно указывать тип данных, которые мы передаем в функцию bindParam () в PDO в Php. Например этот запрос:

$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();

Есть ли угроза безопасности, если я не укажу 3-й параметр. Я имею в виду, если я просто делаю в bindParam ():

$sth->bindParam(1, $calories); 
$sth->bindParam(2, $colour);

Ответы на вопрос(3)

Ваш ответ на вопрос