Php等于多或少操作符


Php equal more or less operators

我得到以下错误:

$experience = $row[Experience]; Use of undefined constant Experience - assumed 'Experience' – user3696343 )

从这个代码:

} else if($_GET['event'] == 15) {
      $fetch = mysqli_query($db_handle, "SELECT Gold, Bank, Troop, Head, Body, Gloves, Foot, CombatLog, Item0, Item1, Item2, Item3, CoordinateX, CoordinateY, CoordinateZ, Horse, Hp, New, Food, Experience, Level FROM playerdata WHERE Unique_Id = '$unique_id'");
      $row = mysqli_fetch_assoc($fetch);
     $experience = $row[Experience];
      $xptolevel = '50';
      if($experience >= $xptolevel) {
      echo'Enough Xp to level up'; 
      mysqli_query($db_handle, "UPDATE playerdata SET Experience = 0, Level = Level + 1 WHERE Unique_ID = '$unique_id'");     
      echo "15|$unique_id|$local_id|$row[Gold]|$row[Bank]|$row[Troop]|$row[Head]|$row[Body]|$row[Gloves]|$row[Foot]|$row[CombatLog]|$row[Item0]|$row[Item1]|$row[Item2]|$row[Item3]|$row[CoordinateX]|$row[CoordinateY]|$row[CoordinateZ]|$row[Horse]|$row[Hp]|$row[New]|$row[Food]|$row[Level]|$row[Experience]|";
      } else {
      echo'Not enough XP to level up';
  }
  }

希望有人能帮忙

访问关联数组元素时,添加引号:

$row[Experience] becomes $row['Experience']

如果你使用Experience,它会假设你试图使用不存在的常量Experience,但PHP会为你转换为字符串。它可以工作,但是需要注意。

如果需要在引号内使用,则使用{}:

echo "Some String {$row['Experience']}";

最后,你的SQL代码不安全。始终使用参数化查询,而不是在SQL中注入实际的变量。