如果,Elseif,其他多个查询返回零值

时间:2017-02-15 07:31:40

标签: php sql if-statement return-value

所以我遇到了一个小问题,我有一个脚本,当它应该返回一个真正的BOOL时返回一个假BOOL。谁能告诉我错误在哪里?

Elseif(isset($_POST['Submit_VO']) && '$_GET[Aflever]' == 1);{
    $MAdelete = $_SESSION['MA_NR'];
    $Bunni = "SELECT Bunny_No FROM Bunnies_final";
    $QueryingBunni= Mysqli_query($conn,$Bunni);
    $Take = "SELECT Bunny_No, Laaner, Ordre_No FROM Udlaan WHERE Bunny_No = '$Bunni' AND Laaner = $MAdelete";
    $Querying = Mysqli_query($conn,$Take);
    var_dump($Take);
    print_r($Take);
    If(!$Querying == 1){
        Echo "Du har ingen lånte instrumenter";
    }
    Else{
        $Delete ="UPDATE Bunnies_final Laaner = NULL, Ordre_No = NULL WHERE Bunny_No = $Take[Bunny_No] AND" ;
    }
   exit();
}

脚本正在做什么是返回过程的借用/返回脚本(我肯定其余代码可以正常工作)。

快速了解应该发生的事情:$_POST['Submit_VO']是一个无法点击的按钮,无需填写2个输入字段。然后,此过程需要勾选一个复选框($_GET[Aflever]) 那就是你需要我知道的,其余部分都在剧本中。

现在我从

获得零值
If(!$Querying == 1){
   Echo "Du har ingen lånte instrumenter";
}Else{
   $Delete ="UPDATE Bunnies_final Laaner = NULL, Ordre_No = NULL WHERE Bunny_No = $Take[Bunny_No] AND" ;
 }
 exit();
 }

我知道这一点,因为我看到回声,这意味着$Querying导致问题,但我无法看到它。

仅供参考我知道代码在SQL注入方面存在缺陷。但它并不重要,因为它是一个用户输入最少的独立系统。

1 个答案:

答案 0 :(得分:1)

首先,说$ Querying更清晰!= 1。

然后,查询错误:

$Take = "SELECT Bunny_No, Laaner, Ordre_No FROM Udlaan WHERE Bunny_No = '$Bunni' AND Laaner = $MAdelete";

$ Bunni基本上是" SELECT Bunny_No FROM Bunnies_final",而不是查询的结果。

您可以将其更改为:

$Take = "SELECT Bunny_No, Laaner, Ordre_No FROM Udlaan WHERE Bunny_No = '".$QueryingBunni['Bunny_No']."' AND Laaner = $MAdelete";