PHP 7 перестал поддерживать старый API MySQL

Случилось то, о чём разработчики PHP давно предупреждали. PHP 7 перестал поддерживать старый API MySQL. Теперь при попытке использовать функции с префиксом «mysql_» будет возникать критическая/фатальная ошибка «PHP Fatal error: Uncaught Error: Call to undefined function mysql_ in file», e.g. «call to undefined function mysql_fetch_array()».

Что же теперь делать со старыми скриптами и CMS, которые давно не поддерживаются и не обновляются. Всё просто! Достаточно просто обновить класс db в вашей CMS, или просто подцепить поверх файл со старыми функциями «mysql_», которые будут выступать в качестве обёрток, и запускать такие же функции нового API MySQL improved с префиксом «mysqli_».

Какие функции должны быть в классе db? Прежде всего самые основные:

  • mysql_connect — Открывает соединение с сервером MySQL
  • mysql_query — Выполняет запрос к базе данных
  • mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_assoc — Fetch a result row as an associative array
  • mysql_fetch_field — Get column information from a result and return as an object
  • mysql_fetch_lengths — Get the length of each output in a result
  • mysql_fetch_object — Fetch a result row as an object
  • mysql_fetch_row — Get a result row as an enumerated array

call to undefined function mysql_fetch_array()