我正在制作 PHP 和 MySQL RPG 游戏,但我的 changeEquipment 页面无法正常工作。我收到这些错误:
警告:mysql_query() [function.mysql-query]:第 21 行 /home/devinfa1/public_html/spellsword/changeEquipment.php 中用户 'devinfa1'@'localhost' 的访问被拒绝(使用密码:否)
警告:mysql_query() [function.mysql-query]:无法在第 21 行的 /home/devinfa1/public_html/spellsword/changeEquipment.php 中建立到服务器的链接
警告:mysql_query() [function.mysql-query]:第 27 行 /home/devinfa1/public_html/spellsword/changeEquipment.php 中用户 'devinfa1'@'localhost' 的访问被拒绝(使用密码:否)
警告:mysql_query() [function.mysql-query]:无法在第 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 应该使用devinfa1_user
用户名和dbpass
密码连接到我的数据库,但它显然试图使用devinfa1
没有密码的用户名。
我不知道为什么会这样,因为我的 changeHero 页面上有完全相同的连接代码和更新语句,而且效果很好。有任何想法吗?