質問
私は、ローカルホスト上でWebを作ってだろうと私はホスト上でそれを移動しようとしたとき、それは私にエラーの多くを示しています。それは私のローカルデータベースに接続できないように思えます。ここでは、コードがあります:
$host = "myip";
$user = "root";
$pass = "";
$db = "mydatabase";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
$on = mysql_fetch_row(mysql_query("SELECT COUNT(online) FROM characters WHERE online=1"));
echo "<br>Online: $on[0]<br><br>";
そして、ここでは出力です:
Warning: mysql_connect() [function.mysql-connect]: Host 'myip' is not allowed to connect to this MySQL server in * on line 46
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in * on line 48
Online:
助けてくれてありがとう。
解決
これは、MySQLのユーザー権限の問題です。例えばphpmyadminの持つ新しいユーザーを作成し、外部から接続している場合は、ローカルホスト、または%から接続している場合、localhostにそれのホストを設定します。
他のヒント
Alekcが正常に述べたように、それは許可の問題です。
あなたはMySQLのプロンプトでこれを行うことができます:
grant all privileges on mydatabase.*
to youruser@'your_ip_address'
identified by 'your_password';
が続きます
flush privileges;
そして、もう一度再接続してみてください。ことを覚えておいてくださいます:
your_ip_adress:(?Webサーバ)、それはだのありませんのMySQLサーバーのIPアドレスが、どこから接続しているIPアドレス your_passwordに:PHP側の接続を確立するときに使用しなければならないものです。
また、このソリューションが動作するはずにもかかわらず、それは、Webアプリケーションで使用されるユーザーにお勧め付与のすべての権限のではない、ということを覚えておいてください。あなたは、より少ない権限で同じことを行うことができます。
あなたは素敵なGUIフロントエンドで、すべてこれを行うことができます。私は、コマンドラインを好むます。
所属していません StackOverflow