You could also do this:
$query = "SELECT name FROM my_table
WHERE cheese = 'cheddar' AND age BETWEEN ? AND ?";
switch ($_POST['age']) {
case 'Tender':
$params = array(18, 20);
case 'Tasty':
$params = array(21, 29);
case 'Prime':
$params = array(30, 39);
default:
$params = array(40, 110);
}
$stmnt = $pdo->prepare($query);
$stmnt->execute($params);
// or
$stmnt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, 'ii', $params[0], $params[1]);
Reasons
Your "age" parameters overlapped. "30" would match both "Tasty" and "Prime".
The "if...elseif...else" and "switch...case" constructs are equivalent and mostly a matter of preference.