Ho il seguente codice PHP che è per un sistema di votazione di un'app. È un'applicazione Q & e l'utente può votare per domande e risposte pubblicate.Come vedere se il risultato della query SQL è vuoto prima di eseguire altre query in PHP
Nel mio codice php, per prima cosa controlla se l'utente ha votato per una domanda specifica. Questo sarebbe presente nella tabella QVOTES, con l'e-mail e l'id della domanda per cui è stata votata.
Quando si esegue questo controllo, non sono sicuro di come vedere se $ result è un set vuoto, in modo da inviare il voto dell'utente se non hanno ancora votato per la domanda.
Come posso farlo funzionare? Tutto l'aiuto è molto apprezzato.
<?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);
Penso che la tua condizione sia sbagliata. hai detto che se l'utente non vota per la domanda, inserisce solo il record. ma attraverso le tue condizioni sembra che stia succedendo esattamente il contrario? Non è vero? –
Inoltre, come stai verificando che un utente abbia votato per una domanda oppure no? perché non ho visto user_id in nessuna parte dell'immagine. grazie –
@anantkumarsingh l'id utente è in realtà l'email dell'utente. –