Решение некоторых проблем при работе с БД MySQL в PHP
Опубликовано robot on 11 November 2008 18:48


а) Если при соединении в скриптах с сервером БД возникает ошибка вида:

PHP Warning: mysql_connect(): Access denied for user test@'localhost' (using password: NO) in /var/www/vhosts/site.ru/httpdocs

то такая ошибка означает, что неверно указаны один или несколько параметров соединения с базой, а именно:

- неверный пароль;
- неверный хост (должен быть localhost);
- база данных с указанным именем не создана (проверьте это в панели управления в разделе Базы данных);
- база данных создана, но в неё не добавлен пользователь с указанным именем (это так же можно проверить через панель).

б) Неверная кодировка. На сайте все данные из БД на русском языке выводятся непонятными символами.

По умолчанию сервер БД MySQL считает, что данные в базе хранятся в кодировке UTF-8. Если Ваши данные хранятся в другой кодировке, то после создания резервной копии (дампа) для последующего корректного восстановления данных необходимо открыть созданный файл текстовым редактором и исправить в нём строчку:

/*!40101 SET NAMES utf8 */;

Например, для кодировки Windows-1251 нужно указать:

/*!40101 SET NAMES cp1251 */;