Call to undefined function mysql_connect()

Итак мы получаем ошибку с сообщением следующего типа Call to undefined function mysql_connect(), что дословно переводится как «Призыв неопределённый функции mysql_connect()».

Очевидно, что эта функция у вас нигде не определена. Ну как же так? Ведь это функция подключения к базе данных MySQL? Да, всё верно. Но, что бы она у вас работала необходимо подключить php расширение для работы с СУБД MySQL, которое так и называется mysql. Оно по умолчанию поставляется в базовом комплекте расширений php.

Для этого идём в конфигурационный файл php.ini и находим следующую секцию подключения расширений (вид и содержание может отличаться):

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll

Как видим необходимое нам расширение для mysql закомментировано символом ; (точка с запятой). Для включения расширения просто убираем этот символ:

...
extension=php_mysql.dll
...

Так же рекомендую проверить директиву extension_dir. Она должна быть включена и иметь значение папки с расширениями php, по умолчанию это ext. Желательно прописывать полный путь до этой директории т.к. иногда относительные пути не срабатывают, особенно под Windows.