Last active
December 21, 2015 02:19
-
-
Save netojoaobatista/6234530 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//na parte de interface de usuário, faça com que o value | |
//contenha apenas o valor numérico do mês | |
echo '<select name="parametro">'; | |
foreach (range(1, 12) as $month) { | |
printf('<option value="%d">%02d</option>', $month, $month); | |
} | |
echo '</select>'; | |
//na parte que receberá o post: | |
//Verifique sempre o método da requisição HTTP e a existência do parâmetro que | |
//será utilizado na requisição | |
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['parametro'])) { | |
//garanta que tipo do conteúdo seja compatível com o que você espera. | |
$param = (int) $_POST['parametro']; | |
//verifique se o conteúdo está dentro do intervalo esperado. | |
if ($param >= 1 && $param <= 12) { | |
$pdo = new PDO('mysql:host=127.0.0.1;dbname=example', 'user', 'pswd'); | |
//trabalhe com prepared statements | |
$stm = $pdo->prepare('SELECT * FROM `your-table` WHERE MONTH(`date-column`) = :month;'); | |
//instrua ao SGBD que o parâmetro é de um tipo específico. | |
$stm->bindParam(':month', $param, PDO::PARAM_INT); | |
//verifique se a instrução foi executada com sucesso | |
if ($stm->execute()) { | |
foreach ($stm->fetchAll() as $row) { | |
//trabalhe com os resultados | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment