我的游戏库存中有一张物品表:
项目 -- 数量
我试图找到如何在一个 SQL 查询中将这些值放入 php 变量中,而不是为我正在查找的每个项目进行单独的 sql 搜索。
我已经尝试过 UNION:
$orbs= mysql_query("SELECT itemqty AS airorbqty FROM inventories WHERE username= '$username' AND itemname= 'Air Orb' UNION ALL SELECT itemqty AS fireorbqty FROM inventories WHERE username = '$username' AND itemname='Fire Orb' ");
while($row= mysql_fetch_array($orbs))
{
$airqty= $row['airorbqty '];
$fireqty= $row['fireorbqty '];
}
echo "air orbs: ", $airqty, "Fire Orbs: ", $fireqty;
但不幸的是它给了我错误。我尝试稍后使用它,因为技能只取决于它需要的特定物品的数量。
例如,火焰攻击将使用 1 个空气球和 2 个火球,并且只有当这 2 个物品的数量等于或高于它们所需的数量时才能使用。
提前致谢。
答案 0 :(得分:0)
简单,对许多项目使用 SQL IN:
$orbs = ['Air Orb'=>0,'Fire Orb'=>0];
$orbs_result = mysql_query("SELECT itemname, itemqty FROM inventories WHERE username = '$username' AND itemname IN('Air Orb', 'Fire Orb')");
while($row = mysql_fetch_array($orbs_result)) {
$orbs[$row['itemname']] = $row['itemqty'];
}
if ($orbs['Air Orb'] >= 5 and $orbs['Fire Orb'] >= 2) {
echo "Fire Attack Ready";
}