PHP soll Datensätze in der Datenbank überprüfen
Hallo ihr Administratoren ;)
Ich habe eine Datenbanktabelle "Freundschaftsanfragen". Wenn Benutzer a Benutzer b eine Freundschaftsanfrage schickt, dann wird ein Datensatz in der Datenbank angelegt:
ID | Von | Zu |
1 | b | a |
Soweit funktioniert das ganze auch schon. Wenn nun aber Benutzer b nochmal eine Freundschaftsanfrage zu Benutzer a schickt, soll ein Fehler kommen, da er schon bereits eine Anfrage gesendet hat. Bisher habe ich diesen Code:
Aber egal was ich jetzt versende, es kommt immer das Echo, dass man bereits eine Anfrage an diesen User gesendet hat, was gar nicht stimmt
Wo ist hier der Fehler?
Ich habe eine Datenbanktabelle "Freundschaftsanfragen". Wenn Benutzer a Benutzer b eine Freundschaftsanfrage schickt, dann wird ein Datensatz in der Datenbank angelegt:
ID | Von | Zu |
1 | b | a |
Soweit funktioniert das ganze auch schon. Wenn nun aber Benutzer b nochmal eine Freundschaftsanfrage zu Benutzer a schickt, soll ein Fehler kommen, da er schon bereits eine Anfrage gesendet hat. Bisher habe ich diesen Code:
if($Action == "addFriend")
{
$Von = mysqli_real_escape_string($conn, $_POST['from']);
$Zu = mysqli_real_escape_string($conn, $_POST['to']);
$search = mysqli_query($conn, "SELECT `Von`, `Zu` FROM `MainlysoftFreundschaftsanfragen` WHERE `Von`='$Von' AND `Zu`='$Zu'");
if(!$search)
{
$mysqli = mysqli_query($conn, "INSERT INTO `MainlysoftFreundschaftsanfragen`(`Von`, `Zu`) VALUES ('$Von', '$Zu')");
if ($mysqli)
{
echo "Success";
}
}
else
{
echo "You have send a friend request to this person.";
}
}
Aber egal was ich jetzt versende, es kommt immer das Echo, dass man bereits eine Anfrage an diesen User gesendet hat, was gar nicht stimmt
Wo ist hier der Fehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 319286
Url: https://administrator.de/forum/php-soll-datensaetze-in-der-datenbank-ueberpruefen-319286.html
Ausgedruckt am: 07.07.2025 um 20:07 Uhr
2 Kommentare
Neuester Kommentar
Moin Yanmai,
oder als Variante zu SlaintheMhath:
Dein geprüftes Ergebnis "$search" sagt ja nur aus, dass die Query fehlerfrei lief, aber nicht, ob ein Resultset mit > 0 Datensätzen zurückkam.
Grüßr
Biber
oder als Variante zu SlaintheMhath:
...
$search = mysqli_query(($conn, "SELECT `Von`, `Zu` FROM `MainlysoftFreundschaftsanfragen` WHERE `Von`='$Von' AND `Zu`='$Zu'");
$row = mysqli_fetch_row($search);
if (!$row)
...
Dein geprüftes Ergebnis "$search" sagt ja nur aus, dass die Query fehlerfrei lief, aber nicht, ob ein Resultset mit > 0 Datensätzen zurückkam.
Grüßr
Biber