sql >> Databáze >  >> RDS >> Mysql

Proč bych v PHP neměl používat funkce mysql_*?

Rozšíření MySQL:

  • Není v aktivním vývoji
  • Je oficiálně zastaralé od PHP 5.5 (vydáno v červnu 2013).
  • Bylo odstraněno zcela od PHP 7.0 (vydáno v prosinci 2015)
    • To znamená, že k 31. prosinci 2018 neexistuje v žádné podporované verzi PHP. Pokud používáte verzi PHP, která to podporuje, používáte verzi, která neopravuje bezpečnostní problémy.
  • Chybí rozhraní OO
  • Nepodporuje:
    • Neblokující asynchronní dotazy
    • Připravená prohlášení nebo parametrizované dotazy
    • Uložené procedury
    • Více příkazů
    • Transakce
    • "Nová" metoda ověřování hesla (ve výchozím nastavení zapnuta v MySQL 5.6; vyžadována ve verzi 5.7)
    • Jakákoli z nových funkcí v MySQL 5.1 nebo novější

Vzhledem k tomu, že je zastaralý, jeho používání snižuje odolnost vašeho kódu do budoucna.

Nedostatečná podpora připravených příkazů je obzvláště důležitá, protože poskytují jasnější metodu escapování a citování externích dat, která je méně náchylná k chybám než ruční escapování pomocí samostatného volání funkce.

Viz porovnání rozšíření SQL .



  1. Opakující se řádky na základě hodnoty sloupce v každém řádku

  2. Úvod do databází časových řad

  3. pgAdmin III Proč jsou výsledky dotazů zkráceny?

  4. Příkaz INSERT SELECT v Oracle 11G