Ho preso l'abitudine di filtrare la variabile inviata dall'utente tramite la mia funzione int che si assicura che sia un numero (se non restituisce 0) e non cita la variabile nelle query mysql.virgolette sui valori int in query mysql
È una cattiva pratica? Penso di aver deciso di farlo per motivi di prestazioni. Inoltre ho sempre pensato che i numeri non dovrebbero essere messi tra virgolette.
Esempio:
if($perpage != $user['perpage']){
if($perpage == 50 || $perpage == 100 || $perpage == 200){
$DB->query("UPDATE users SET perpage=$perpage WHERE id=$user[id]", __FILE__, __LINE__);
}
}
Sono interessato a sapere se guadagno qualcosa in termini di prestazioni facendo questo. Ovviamente mi sentirei molto più sicuro inserendoli tra virgolette. – domino
sembra che tu stia usando un modo antico per ottenere il file e la riga dell'errore. Non è necessario impostarlo manualmente al giorno d'oggi. trigger_error() o debug_backtrace() lo farà per te –
come per le prestazioni. Hai problemi con esso in questo momento? –