Ich arbeite an einer MySQL-Datenbank mit zwei Tabellen mit den Tabellen p und g. Hier versuche ich zu überprüfen, ob der Wert einer Variable $ Ureciever von einer ausgewählten Abfrage in Tabelle 'p' leer ist oder nicht und basierend auf dieser Aktualisierung zwei verschiedene Spalten 'partner1' und 'partner2' in Tabelle 'g' mit der Sitzungs-Benutzernamen-Variable. Nur einer von "partner1" und "partner2" sollte in einer Iteration des Codes aktualisiert werden.
if(empty($ureciever)) {
{
$query ="UPDATE g
SET partner1= '".$_SESSION['username']."'
WHERE packageg = '$upackage' AND banned = 0 AND partner1 =''
ORDER BY useridg ASC
LIMIT 1";
$result = mysql_query($query);
$count = mysql_affected_rows($conn);
}
if($count == 1){
$countdown = time() + 648000;
$query = "UPDATE p AS p
JOIN g AS g ON p.username = g.partner1
SET p.reciever = g.usernameg, p.time_expires = '$countdown'
WHERE p.username ='".$_SESSION["username"]."'";
$result = mysql_query($query);
$count1 = mysql_affected_rows($conn);
}
Der obige Codeabschnitt ausführt richtig, aber den alternativen Code, der ausgeführt werden soll, wenn die Bedingung falsch ist einfach getestet wird, nicht ausgeführt. Ich habe meine Klammern, Semikolons, überprüft, die Testbedingung wurde auf keinen positiven Effekt umgeschrieben. Dies ist der Abschnitt, der mir unten Probleme bereitet.
else if($count != 1){
$query= "UPDATE g
SET partner2 = '".$_SESSION['username']."'
WHERE packageg = '$package' AND banned = 0 AND partner2 =''
ORDER BY useridg ASC
LIMIT 1";
$result2 = mysql_query($query);
$count2 = mysql_affected_rows($conn);
}
if ($count2 == 1)
{
$countdown = time() + 648000;
$query = "UPDATE p AS p
JOIN g AS g ON p.username = g.partner2
SET p.reciever = g.usernameg, p.time_expires = '$countdown'
WHERE p.username ='".$_SESSION["username"]."'";
$result = mysql_query($query);
$count1 = mysql_affected_rows($conn);
}
}
else{
$_SESSION['paired'] = "You have been matched to pay someone. Please be quick";
}
leer Rückkehr wahr oder falsch ... Ihr Zustand 0 oder 1 == "" niemals wahr Verwendung empty ($ var) zurückkehren || $ var == "" –
Zuerst diese Aussage if (leer ($ ureciever) == '') ist falsch muss nicht mit '' leer sein selbst überprüfen es richtig machen if (leer ($ urreciever)) –