I'm fetching results from MySQL database using PDO and I use value from $_GET request method as a condition. Everything works fine but if there is any fullstop (dot) in the $_GET value, MySQL returns 0 rows.
Here is my sample:
<?php
    function filter($val) {
        $f = htmlentities($val);
        $f = filter_input(INPUT_GET, $f);
        return strip_tags($f);
    }
    $dev = filter("dev");
    function DevFetch($dev) {
        $q = $this->link->prepare("SELECT app FROM table WHERE dev = ?");
        $q->bindValue("1", $dev);
        $q->execute();
        if($q->rowCount() > 0) {
            return $q->fetchAll();
        } else {
            return false; 
        }
    }
?>
Here are some examples.
Case 1:
results.php?developer=Google+Inc // works fine
Case 2:
results.php?developer=Google // works fine
Case 3:
results.php?developer=Google+Inc. // doesn't work with dot at the end
Please help with this. Note that I'm encoding (urlencode()) the $_GET value as well as filtering it using filter_input() function. Without filtering / encoding also doesn't work.
 
     
     
    