При попытке подключения к базе данных я получаю сообщение об ошибке «Отказано в доступе». Вот код:
<?php mysql_connect("00.00.00.00:00000","user","pass"); mysql_select_db("dbname"); $q=mysql_query("CALL GetMaterialInfo('".$_REQUEST['user']."','".$_REQUEST['pass']."','6c3e91d3')"); while($e=mysql_fetch_assoc($q)) $output[]=$e; print(json_encode($output)); mysql_close(); ?>
Я изменил адрес ip хозяина (его не все ноль), имя пользователя и пароль и имя базы данных. Я уверен, что пользователь и пароль, как и IP-адрес хоста, и номер порта, и имя базы данных верны. Мне удалось подключиться к базе данных allready с помощью JDBC-коннектора, но она дает следующую ошибку через PHP-скрипт:
<b>Warning</b>: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user 'username'@'192.168.1.1' (using password: YES) in <b>/www/zxq.net/t/e/s/testphpbach/htdocs/Connection.php</b> on line <b>2</b><br />
вам необходимо выполнить следующие проверки:
SHOW GRANTS [FOR user]
. Более подробную информацию можно найти здесь. Если ни одна из этих работ не работает, попробуйте использовать другого пользователя, кроме стандартного. вы, вероятно, входите с тем же именем пользователя / паролем из phpmyadmin успешно, но не можете войти в систему с php, если хост не является localhost. У меня такая же проблема. Перейдите в mysql и дайте разрешение для этого пользователя на вход со всех хостов (%), или на IP-адрес конкретного хоста, на котором запущен ваш PHP-код.
Гавриил, ты спас мне мир боли.
Я ранее получал сообщение об ошибке mysql «Доступ запрещен для пользователя …»
Решение проблемы удаленного доступа в php заключалось в предоставлении доступа ко всем хостам в cPanel '%'
Кроме того, чтобы выяснить ваш mysql веб-хост и порт, выполните команду sql 'show variables' в вашей базе данных. переменные «hostname» и «port» расскажут вам, что вам нужно знать для подключения базы данных mysql.
Еще одно замечание – обеспечить, чтобы пользователь, которого вы создали, фактически добавлен в базу данных.