質問

私は、ローカルホスト上で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フロントエンドで、すべてこれを行うことができます。私は、コマンドラインを好むます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top