2017-02-15 1 views
0

Donc j'ai rencontré un petit problème, j'ai un script qui retourne un faux BOOL quand il devrait retourner un vrai BOOL. Quelqu'un peut-il me dire où est l'erreur?Si, Elseif, sinon avec plusieurs requêtes retournant la valeur zéro

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(); 
} 

Qu'est-ce script est en train de faire est un script Borrow/retour pour le processus de retour (je suis positif que le reste du code fonctionne).

Raccourcissement rapide de ce qui devrait se produire: $_POST['Submit_VO'] est un bouton qui est déclicable sans remplir 2 champs d'entrée. Il est alors nécessaire pour ce processus de cocher une case ($_GET[Aflever]) Eh bien c'est ce que vous devez savoir de moi, le reste est dans le script.

En ce moment, je reçois une valeur nulle de

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(); 
} 

Je sais que ce que je vois l'écho, ce qui signifie que $Querying est l'origine du problème, mais je ne peux pas le voir.

FYI je sais que le code est défectueux contre l'injection SQL. Mais ce n'est pas important car c'est un système autonome avec une contribution minimale de l'utilisateur.

+1

Pourquoi ne pas '$ Interrogation = 1' au lieu de' $ Interrogation == 1'? –

+0

La première chose à laquelle je pensais après avoir cliqué sur 'post' était que je devais stocker la première requête dans une variable et utiliser cette variable dans '$ Take' où' $ Bunni' est. – D3nj1

+0

@SougataBose à mes yeux dans essentiellement les mêmes mathématiques – D3nj1

Répondre

1

D'abord, il est plus propre à dire $ Interrogation = 1.

Ensuite, la requête est mal:

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

$ Bunni est essentiellement "SELECT Bunny_No DE Bunnies_final", et non le résultat de la requête.

Vous pouvez le changer:!

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