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

Jak úspěšně přepsat starý kód mysql-php pomocí zastaralých funkcí mysql_*?

Vlastně jednoduché, sladké a krátké:Ano, už to není nutné.

Pojďme zkontrolovat kód, ne že jsme něco ztratili:

  • __construct - Konstruktor pouze obsahoval veškerou konfiguraci. PDO má mnohem jednodušší koncept, připojovací řetězec obsahující nejvíce informací:

     mysql:host=127.0.0.1;dbname=people;charset=UTF-8
    

    Také PDO poskytuje konstruktor pro použití v hotovém stavu, takže není nutné zdvojení.

  • connect - Funkce připojení již také není nutná. To se provádí již vytvořením instance PDO. Můžete hledat výjimky, příručka PHP má příklad na stránce konstruktoru .

  • selectDb - Tato složitá funkce již také není potřeba. Páni, třetí funkci můžeme jednoduše vypustit kvůli připojovacímu řetězci PDO. Hodně síly s tak menším počtem postav. Na zdraví!

  • __destruct - Destruktor. Buďme spravedliví:MySQL to také nepotřebovalo. Nicméně s PDO to dostaneme zdarma – bez psaní jediného řádku kódu.

Vypadá dobře! Podařilo se vám migrovat z této obskurní třídy databáze na PDO odstraněním zastaralého kódu! Gratulujeme:

$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

Pokud si teď myslíte, co když chci mít databázovou třídu sám? Můžete to udělat, protože můžete rozšířit z PDO (ano, to funguje!):

class DB extends PDO
{
   ... my super-new-shiny-code
}

Proč to chceš udělat? Nemám ponětí, ale možná je to pro váš kód plynulejší. Pokud hledáte lepší příklad kódu, mám jeden na PHP/MySQL tabulka s hypertextovými odkazy .



  1. Aktualizujte konfigurační soubor pomocí nového nastavení databáze

  2. DATENAME() Příklady v SQL Server

  3. Případ v příkazu Select

  4. Hibernate dialekt pro Oracle Database 11g?