我正在制作一款小游戏以便在PHP中消磨时间,为此,我在MySQL中使用了一个数据库。但是,每次我检查它是否将变量插入数据库时,它都不会显示出来。
这是我正在使用的查询:
$sql = "
INSERT INTO `Users`
(
Username,
Class,
Level,
Health,
Max_Health,
Mana,
Max_Mana,
Intelligence,
Strength,
Dexitery,
Endurance,
Vitality,
Experience,
Required_Experience,
Gold,
Equiped_Armor,
Equiped_Weapon,
Inventory_Slot1,
Amount1,
Inventory_Slot2,
Amount2,
Inventory_Slot3,
Amount3,
Inventory_Slot4,
Amount4,
Inventory_Slot5,
Amount5,
Inventory_Slot6,
Amount6,
Inventory_Slot7,
Amount7,
Inventory_Slot8,
Amount8,
Inventory_Slot9,
Amount9,
Inventory_Slot10,
Amount10,
Skill_1,
Skill_2,
Skill_3,
Skill_4,
Skill_5,
Skill_6,
Skill_7,
Location
)
VALUES
(
".$Username.",
".$Class.",
".$Level.",
".$Health.",
".$Max_Health.",
".$Mana.",
".$Max_Mana.",
".$Intelligence.",
".$Strength.",
".$Dexitery.",
".$Endurance.",
".$Vitality.",
".$Experience.",
".$Req_Experience.",
".$Gold.",
".$Equiped_Armor.",
".$Equiped_Weapon.",
".$Inventory_Slot1.",
0,
".$Inventory_Slot2.",
0,
".$Inventory_Slot3.",
0,
".$Inventory_Slot4.",
0,
".$Inventory_Slot5.",
0,
".$Inventory_Slot6.",
0,
".$Inventory_Slot7.",
0,
".$Inventory_Slot8.",
0,
".$Inventory_Slot9.",
0,
".$Inventory_Slot10.",
0,
".$Skill_1.",
".$Skill_2.",
".$Skill_3.",
".$Skill_4.",
".$Skill_5.",
".$Skill_6.",
".$Skill_7.",
'Town'
)";
mysql_query($sql, $link);
我完全不知道我做错了什么,所以非常感谢一些帮助。提前谢谢。
答案 0 :(得分:1)
您可以在执行之前尝试在PHP中回显查询。
echo $query;
然后,您可以在mysql shell或phpmyadmin中运行回显的查询,看看为什么它没有被执行。
答案 1 :(得分:1)
您需要引用查询中的值 这样的事情:
$sql = "INSERT INTO `Users`(Username, Class, Level) VALUES ('$Username', '$Class', '$Level');
答案 2 :(得分:1)
'可能是因为大写的列名(例如 U sername)。在严重重音`
$sql = "INSERT INTO `Users`(`Username`, `Class`, ...
除了数字之外的其他变量也应该用引号
$sql = "INSERT INTO `Users`(`Username`, `Class`, ..., `Map`)
VALUES ('".$Username."', '".$Class."', ... , '".$Map."')";