2016-09-22 11 views
-2

Ich bin neu in der Programmierung und PHP, und bin ziemlich entmutigt von meiner Unfähigkeit, diesen Code zu arbeiten.In einer elseif-Anweisung, wie stoppe ich die nächste Ausführung

$query_uid2 = mysqli_query($db_conx,"SELECT * FROM table WHERE uid2 IS NOT NULL"); 
$query_uid3 = mysqli_query($db_conx,"SELECT * FROM table WHERE uid3 IS NOT NULL"); 

//the update queries 

$q2 = mysqli_query($db_conx,"UPDATE table SET uid2='$var' WHERE uid1='$uid1'"); 
$q3 = mysqli_query($db_conx,"UPDATE table SET uid3='$var' WHERE uid1='$uid1'"); 

//I used mysqli_num_rows function to create 2 more variables for next step... 

if ($q2_num > 0 && $q2 == TRUE) { 
    echo "success"; 
    die(); 
} elseif ($q3_num > 0 && $q3 == TRUE) { 
    echo "success"; 
    die(); 
} 

Mein Problem ist, dass, wenn sowohl Aussagen durchführen, trotz der Tatsache, dass die query_uid in der Tat ist nichtnull.
Ich versuche zu stoppen, die zweite Anweisung auszuführen, wenn die erste Anweisung bedingt wahr ist, ist das möglich?
Ich hoffe, Sie können meine Frage verstehen. Ich habe versucht, das jetzt seit 2 Wochen herauszufinden, ich fühle mich hoffnungslos. Ich kann nichts online oder in meinem Buch finden, was ich versuche zu erklären.

Um es noch einmal zu erklären, ich möchte nicht, dass die zweite Bedingung ausgeführt wird, nur die erste unter der Annahme true. Kann mir jemand einen Hinweis geben, wie das möglich ist? Ich habe alles versucht, was ich kann.

+1

Verstehst du immer noch nicht, dass Sie alle Ihre Fragen haben laufen bereits, * bevor * irgendwelche Bedingungen? Und daher haben diese Bedingungen keinen Einfluss auf die Abfragen? –

+0

Wenn Sie möchten, dass eine Abfrage basierend auf einer Bedingung ausgeführt wird, müssen Sie diese Abfrageausführung in diese Bedingung einfügen. nicht oberhalb. –

Antwort

2

Wenn die erste iftrue ist, dann wird was in der elseif nicht ausgeführt wird. Wenn Sie jedoch die Ergebnisse der Abfragen diesen Variablen zuweisen, werden sie vor Ihren Bedingungen ausgeführt. Die Lösung ist einfach, führen Sie einfach die Abfragen innerhalb der Bedingung aus.

if (condition) { 
    mysqli_query(...); 
} 

Speziell für Ihre Situation:

if ($q2_num > 0) { 
    mysqli_query($db_conx,"UPDATE table SET uid2='$var' WHERE uid1='$uid1'"); 
    echo "success"; 
    die(); 
} elseif ($q3_num > 0) { 
    mysqli_query($db_conx,"UPDATE table SET uid3='$var' WHERE uid1='$uid1'") 
    echo "success"; 
    die(); 
} 
Verwandte Themen