이것은 일부 약간의 기초가 될 수 있지만, 문자열 (영화에서와 같이 전 007)의 정수라면 다음과 같은 성명 같은에 무슨 일이 일어날 것 :PDO 준비 문에서 입력을 필터링 할 때 STR이 interger 형식으로되어 있으면 어떻게됩니까?
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
- 색상은 '007 인 경우 'PDO :: PARAM_STR은 여전히 작동합니까?
- int 12는 무엇입니까? 그것이 (색상 & $ 색상)의 길이를 참조합니까?
- 필터를 최대화하는 것이 목적입니까? (12 문자열 만 통과합니까?)
감사합니다. 아직 PHP를 처음 사용하는 설명서를 해독하고 있지만 지금까지는 구체적인 내용이 없습니다.
완료 문 here.
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
'007'은'$ calories = 007;'을 사용하면 주어진 8 진수로 취급 될 것이므로 따옴표로 묶어야합니다. –
예, 지금 볼 수 있습니다. 정상적인 문자열로 필터링하고 12를 추가하는 것을 무시할 수있는 시나리오처럼 보입니다 ... 12 개의 지점을 찾을 수 없어 코드를 올바르게 적용하려고했습니다. 통찰력에 감사드립니다. – Magic