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();
}