Così come è scritto si. Se invece invii al database input da parte dell'utente (es. $_GET o $_POST, comunque dati manipolabili dall'utente), è sempre bene controllare i dati prima di inserirli nelle query.
Ti consiglio in tal caso questo tutorial sul forum giorgiotave: Tutorial area privata di TheDarkITA (lo trovi con ricerca, non mi fa mettere url..)
In particolare questa parte:
// Dati Inviati dal modulo
$user = (isset($_POST['user'])) ? trim($_POST['user']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
$pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
// Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
if (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
Così dovresti evitare SQL Injections.
Per la connessione, mysql_connect() potresti sostituirlo con mysqli. Trovi info su google (mysql to mysqli).
Però, se a te funziona e il tuo hosting non aggiorna la versione PHP (a meno che non gli fai richiesta esplicita), potresti anche mantenere mysql_connect().
Tieni conto che attualmente PHP segnala la funzione come deprecata, quindi in prossime versioni potrebbe non essere più supportata.