2012-05-11 6 views
0

PHPとMySQLのRPGゲームを作成しています。私のchangeEquipmentページが機能していません。私はこれらのエラーを取得しています:mysql_query()ユーザのアクセスが拒否されました

警告:するmysql_query()[function.mysql-クエリ]:アクセスは、ユーザー 'devinfa1' の@ 'localhost' の拒否(パスワードを使用して:NO) /ホーム/ devinfa1でライン上の/public_html/spellsword/changeEquipment.php 21

警告:するmysql_query()[function.mysql-クエリ]: は /家庭で確立することができませんでしたサーバーへのリンク/ devinfa1/public_htmlの/ spellsword/changeEquipment .php on line 21

警告:mysql_query()[function.mysql-query]:ユーザ01のアクセスが拒否されました。(パスワード使用:NO) 'をlocalhostの' @ 'devinfa1' 行に /home/devinfa1/public_html/spellsword/changeEquipment.phpで27

警告:するmysql_query()[function.mysql-クエリ]:リンク はライン27

に /home/devinfa1/public_html/spellsword/changeEquipment.phpで確立することができませんでしたサーバーここに私のコードですへ:だから

<?php 
// Get commonFunctions.php 
require_once('commonFunctions.php'); 

// Start the session and connect to the database 
session_start(); 
$con = mysql_connect("localhost","devinfa1_user","dbpass"); 
if (!$con) { die('Could not connect: ' . mysql_error()); } 
mysql_select_db("devinfa1_spellsword", $con); 

// If logged in 
if(isset($_SESSION['account_name'])) { 
    // If form is submitted 
    if(isset($_POST['submit']) || isset($_POST['submit_x'])) { 

     // If the hero has more than one weapon 
     if(hero_has_multiple_weapons()) { 
      // Set new weapon 
      mysql_query("UPDATE Hero_Weapons SET active_weapon = TRUE WHERE HW_hero_id = 
       (SELECT hero_id FROM Heroes WHERE hero_name = '$_SESSION[hero_name]') 
       AND HW_item_id = (SELECT item_id FROM Items WHERE item_name = '$_POST[weapon]')"); 

      // Unset previous weapon 
      if(isset($_SESSION['hero_name'])) { 
       mysql_query("UPDATE Hero_Weapons SET active_weapon = FALSE WHERE HW_hero_id = 
        (SELECT hero_id FROM Heroes WHERE hero_name = '$_SESSION[hero_name]') 
        AND HW_item_id = (SELECT item_id FROM Items WHERE item_name = '$_SESSION[weapon_name]')"); 
      } 
     } 

// Close the database connection 
mysql_close($con); 
?> 

、PHPは、に接続する必要があります私のdatabseを使用してdevinfa1_userのユーザー名とdbpassのパスワードを使用していますが、パスワードなしでdevinfa1のユーザー名を使用しようとしているようです。

私はchangeHeroページにまったく同じ接続コードと更新ステートメントがあり、完全に機能するので、なぜそうなのかわかりません。何か案は?

+1

を接続(hero_has_multiple_weaponsへの呼び出しで、すなわち()DB接続が開かれた)最後の接続またはあなたの最後の接続のdidntをオーバーライドしているかのように見える、見ますどのようなDBのものをやっている。 – Dennis

+0

はい。 commonFunctions.phpはhero_has_multiple_weapons()関数を持っています – DevinFalgoust

+0

私の答えを見て、私はあなたの問題がある場所だと信じています – Dennis

答えて

1

クエリを使用して、マニュアル:MySQL接続に接続を渡します。リンク識別子が指定されない場合、mysql_connect()によって最後に開かれたリンクが仮定されます。そのようなリンクが見つからない場合、引数なしでmysql_connect()が呼び出されたかのようにリンクを作成しようとします。接続が見つからないか確立されていない場合は、E_WARNINGレベルのエラーが生成されます。それが動作するかどうか

は本当にcommonFunctionsでいくつかのコードがある

+0

私はそれを理解しました。私はhero_has_multiple_weapons関数の最後に接続を閉じていました。助けてくれてありがとう – DevinFalgoust

+0

問題がなければ、助けて必要な時に助けを得るのが大好きです。おめでとう – Dennis