PDOを使用されるのがとても安全ですよ。SQLインジェクションをPDOを使用して防ぐコードの例を下記に示します
try{
  $dbh = new PDO("mysql:host=127.0.0.1;dbname=".$DBNAME.";charset=utf8", $USERNAME, $PASSWORD);
 
  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
 
  $stmt = $dbh->prepare("select * from TABLENAME WHERE ID = ?");
  $stmt->setFetchMode(PDO::FETCH_ASSOC);
  
  $a = 1;
  $stmt->bindParam(1, $a, PDO::PARAM_INT);
  $stmt->execute();
 
  while ($row = $stmt->fetch()) {
    echo $row["ID"];
  }
 
  $dbh = null;
 
} catch(PDOException $e){
  echo $e->getMessage();
}