Запрос MySQL в PHP работает только локально
Заключается в следующем: система, которую я даю обслуживание использовал два типа запросов (не спрашивайте меня, почему) и локально (localhost) работают отлично. Когда я вышел проект на сервер, запросов, объявленные таким образом:
<?php $sql = mysql_query("INSERT INTO entrada_produto (id_produto, descricao, qtde, valor_unitario, unidade, cd, data_entrada) VALUES ('{$id_produto}', '{$descricao}', '{$qtde}', '{$valor_unitario}', '{$unidade}', '{$cd}', now())") or die(); ?>
Не работают. Есть следующее сообщение об ошибке:
Warning: mysql_query() [function.mysql-query]: Access denied for user.........
2 answers
", безопасности, многие установки по умолчанию, и веб-хосты для настройки пользователя по умолчанию в MySQL как usuario@localhost
, то есть, только локальный доступ.
, Если у вас есть административный доступ к серверу, нужно добавить доступ к usuario@%
для доступа в любом месте (в % - это "джокер", где доступ любого узла); или же usuario@PREENCHA_SEU_HOST_ESPECIFICO
например, если требуется внешний доступ только на машине.
Пример строки, чтобы авторизовать пользователя на любой узел и во всех таблицах:
CREATE USER 'meuusuario'@'%' IDENTIFIED BY 'senhadousuario';
GRANT ALL PRIVILEGES ON *.* TO 'meuusuario'@'%';
Отметить, что не всегда вы хотите, чтобы все привилегии для пользователя, поэтому рекомендуется дробить лучший доступ, в соответствии с целью использования. См. подробности в документации grant(en).
, Если вы не имеете административный доступ, попробуйте изменить со службой поддержки вашего хостинга.
Access denied for user...
Говорит, что пользователь, который вы используете, не имеет доступа.
Проверьте данные доступа (host, user, password), настройки сервера должны быть разные его конфигурации.