Запрос 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.........
 5
Author: Lucas Lima, 2014-02-11

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).

, Если вы не имеете административный доступ, попробуйте изменить со службой поддержки вашего хостинга.

 9
Author: Bacco, 2014-02-11 18:14:28

Access denied for user...

Говорит, что пользователь, который вы используете, не имеет доступа.
Проверьте данные доступа (host, user, password), настройки сервера должны быть разные его конфигурации.

 1
Author: NovoK, 2014-02-11 17:27:36