为什么此字符串运算符没有向fetch_assoc()注册有效匹配


Why is this string operator not registering valid match with fetch_assoc()?

正如代码所示,我认为'aurapass'的关联值是作为字符串而不是相应的提取值来提取的。一切都在积极回归。如何选择fetch_assoc()值?

        $recruiter=$_POST["recruiter"];
        $aurapass=$_POST["aurapass"];
        $recruitfetch=mysqli_query($maindb, "SELECT * FROM auras WHERE auraname = $recruiter");
        $recruitcheck=mysqli_fetch_assoc($recruitfetch);
        if($recruitcheck['aurapass']==$aurapass){
              if($recruitcheck['recruitbadge']=="valid"){
              echo "<script>alert('Recruiter badge verified.')</script>";
              }
        }

此后,我将变量更改为不同的单词,这样我就可以测试变量的真实值,以及列名和字符串值"valid"与表数据库值的匹配,那么我的问题是什么呢?

更改后,当前代码为:

      $recruiter=$_POST["recruiter"];
      $recruitpass=$_POST["recruitpass"];
      $recruitfetch=mysqli_query($maindb, "SELECT * FROM auras WHERE auraname = '$recruiter'");
      $recruitcheck=mysqli_fetch_assoc($recruitfetch);
      if($recruitcheck['aurapass']==$recruitpass){
             if($recruitcheck['recruitbadge']=="valid"){
             echo "<script>alert('Recruiter badge verified.')</script>";
             }
      }

我正在努力接收任何类型的打印输出或回声,以显示任何东西的价值。我对这件事非常陌生,而且很挣扎。不幸的是,我还没有找到谈论确切语法的网站,尤其是PHP7.0。任何关于故障排除的建议都将非常棒!

向recruiter添加引号确实改变了结果,所以很明显,第二个版本中的代码是正确的,但我认为我有一些字符错误,因为我必须重新键入它才能使其工作,但它仍然是同一个确切的文本?

这就是我的结局:

$recruiter=$_POST["recruiter"];
$recruitpass=$_POST["recruitpass"];
$recruitfetch=mysqli_query($maindb, "SELECT * FROM auras WHERE auraname = '$recruiter'");
$recruitcheck=mysqli_fetch_assoc($recruitfetch);
if($recruitcheck["aurapass"]==$recruitpass){
      if($recruitcheck["recruitbadge"]=="valid"){

我还学会了如何打印var_dump,并且了解它的用途。谢谢大家!