Ich habe den folgenden PHP-Code, der für ein Abstimmungssystem einer App ist. Es ist eine Q & Eine App, und der Benutzer kann für Fragen und Antworten abstimmen, die gepostet werden.Wie zu sehen, ob das Ergebnis der SQL-Abfrage leer ist, bevor andere Abfragen in PHP
In meinem PHP-Code, zuerst überprüfe ich, ob der Benutzer für eine bestimmte Frage gewählt hat. Dies würde in der QVOTES-Tabelle existieren, mit der E-Mail und der ID der Frage, für die gestimmt wird.
Bei dieser Überprüfung bin ich mir nicht sicher, wie man sehen kann, ob $ result ein leerer Satz ist, um die Stimme des Benutzers abzugeben, wenn sie noch nicht für die Frage gestimmt haben.
Wie kann ich das funktionieren? Alle Hilfe wird sehr geschätzt.
<?php
$con=mysqli_connect("127.2.1.1","S837","887","D887");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$qid = $_POST['qid'];
$email = $_POST['email'];
$result = mysqli_query($con, "SELECT * FROM QVOTES WHERE QID = $qid AND EMAIL = '$email'");
if (!mysqli_num_rows($result)){
if ($result = mysqli_query($con, "INSERT INTO QVOTES (QID, EMAIL) VALUES ($qid, '$email')")) {
mysqli_query($con, "Update QUESTIONS SET VOTES = VOTES +1 WHERE QID = $qid");
echo "Update successful";
} else{
echo "Update unsuccessful";
}
} else{
echo "null";
}
mysqli_close($con);
Ich denke, Ihr Zustand ist falsch. Sie sagten, wenn der Benutzer nicht für die Frage abstimmt, dann fügen Sie nur den Datensatz ein. aber durch deinen Zustand scheint es genau umgekehrt zu sein? Ist es nicht? –
Auch, wie Sie überprüfen, ob ein Benutzer für eine Frage gewählt hat oder nicht? weil ich user_id nirgendwo im Bild gesehen habe. danke –
@anantkumarsingh die Benutzer-ID ist eigentlich die E-Mail des Benutzers. –