Mysql
 sql >> Database >  >> RDS >> Mysql

Perché non dovrei usare le funzioni mysql_* in PHP?

L'estensione MySQL:

  • Non è in fase di sviluppo attivo
  • È ufficialmente deprecato a partire da PHP 5.5 (rilasciato a giugno 2013).
  • È stato rimosso interamente a partire da PHP 7.0 (rilasciato a dicembre 2015)
    • Ciò significa che al 31 dicembre 2018 non esiste in nessuna versione supportata di PHP. Se stai utilizzando una versione di PHP che lo supporta, stai utilizzando una versione che non risolve problemi di sicurezza.
  • Manca un'interfaccia OO
  • Non supporta:
    • Query asincrone non bloccanti
    • Dichiarazioni preparate o query parametrizzate
    • Procedure archiviate
    • Dichiarazioni multiple
    • Transazioni
    • Il "nuovo" metodo di autenticazione della password (attivo per impostazione predefinita in MySQL 5.6; richiesto in 5.7)
    • Qualsiasi nuova funzionalità in MySQL 5.1 o versioni successive

Poiché è deprecato, il suo utilizzo rende il codice meno a prova di futuro.

La mancanza di supporto per le istruzioni preparate è particolarmente importante in quanto forniscono un metodo più chiaro e meno soggetto a errori per eseguire l'escape e citare i dati esterni rispetto all'escape manuale con una chiamata di funzione separata.

Vedi il confronto delle estensioni SQL .