PDO :: PARAM_ * против кастинга - PullRequest
2 голосов
/ 24 января 2012

Я хочу знать реальную разницу в PHP PDO между переменной приведения и константой PDO :: PARAM _ *

Пример:

$stmt->bindValue(':name', $name, PDO::PARAM_INT);

ИЛИ

$stmt->bindValue(':name', (int)$name);

1 Ответ

3 голосов
/ 24 января 2012

Первый метод (с использованием PDO::PARAM_*) означает, что ваш запрос не будет выполнен, если $name не соответствует указанному вами типу (в данном случае типу integer).Он проверяет тип перед привязкой.

Последний (без предоставления третьего аргумента) не имеет такой проверки, поэтому, если вы не приведете $name как целое число, запрос все равно будет выполнен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...