sql >> Databasteknik >  >> RDS >> Mysql

Varför ska jag inte använda mysql_*-funktioner i PHP?

MySQL-tillägget:

  • Är inte under aktiv utveckling
  • Är officiellt fasad från och med PHP 5.5 (släpptes i juni 2013).
  • Har borttaget helt från och med PHP 7.0 (släpptes i december 2015)
    • Detta betyder att från och med 31 december 2018 det finns inte i någon version av PHP som stöds. Om du använder en version av PHP som stöder det, använder du en version som inte åtgärdar säkerhetsproblem.
  • Saknar ett OO-gränssnitt
  • Stödjer inte:
    • Icke-blockerande, asynkrona frågor
    • Förberedda uttalanden eller parametriserade frågor
    • Lagrade procedurer
    • Flera uttalanden
    • Transaktioner
    • Den "nya" lösenordsautentiseringsmetoden (på som standard i MySQL 5.6; krävs i 5.7)
    • Någon av de nya funktionerna i MySQL 5.1 eller senare

Eftersom den är utfasad gör användningen av den din kod mindre framtidssäker.

Brist på stöd för förberedda uttalanden är särskilt viktigt eftersom de ger en tydligare, mindre felbenägen metod för att escape och citera extern data än att manuellt escape den med ett separat funktionsanrop.

Se jämförelsen av SQL-tillägg .



  1. Vilka är de kända sätten att lagra en trädstruktur i en relationsdatabas?

  2. DAYOFWEEK() Exempel – MySQL

  3. Standardsträngar för numeriskt format som stöds av FORMAT() i SQL Server

  4. 1052:Kolumn 'id' i fältlistan är tvetydig