Mysql
 sql >> база данни >  >> RDS >> Mysql

Как успешно да пренапишем стар mysql-php код с отхвърлени функции на mysql_*?

Всъщност просто, сладко и кратко:Да, вече не е необходимо.

Нека прегледаме кода, не че сме загубили нещо:

  • __construct - Конструкторът просто съдържаше цялата конфигурация. PDO има много по-лесна концепция тук, низ за връзка, съдържащ най-много информация:

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

    Също така PDO предоставя конструктора за използване готов, така че двойно не е необходимо.

  • connect - Функцията за свързване също не е необходима. Това се прави чрез инстанциране на PDO вече. Можете да търсите изключения, ръководството за PHP има пример на страницата на конструктора .

  • selectDb - Тази сложна функция също не е необходима. Уау, третата функция, която можем просто да изпуснем заради низа за PDO връзка. Много сила с толкова по-малко герои. Наздраве!

  • __destruct - Деструкторът. Нека бъдем честни:MySQL също не се нуждаеше от това. С PDO обаче го получаваме безплатно - без да пишем нито един ред код.

Изглежда добре! Успяхте да мигрирате от този неясен клас на база данни към PDO, като премахнете остарелия код! Поздравления:

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

Ако сега се замислите, какво ще кажете, ако искам сам да имам клас на база данни? Е, можете да направите това, защото можете да разширите от PDO (да, това работи!):

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

Защо може да искате да направите това? Нямам идея, но може би е по-свободен за вашия код. Ако търсите по-добър пример за код, имам такъв в PHP/MySQL таблица с хипервръзки .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Escape низ на Python за MySQL

  2. #1071 - Посоченият ключ беше твърде дълъг; максималната дължина на ключа е 1000 байта

  3. INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ с КЪДЕ?

  4. Попълнете падащо меню от mySQL таблица в PHP

  5. Как да получите текущия пореден номер на Auto_Increment за MySQL / MariaDB таблица