Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Überprüfen Sie, ob eine Zeile mit bestimmten Werten vorhanden ist

Dazu müssen Sie eine Transaktion durchführen.

Führen Sie zuerst die Auswahl aus.

SELECT * FROM following where idUser = $id AND followingID = $followingId

Wenn nun die obige Abfrage eine oder mehrere Zeilen auswählt, besteht bereits eine Beziehung, und wenn keine Zeile (null Zeilen) vorhanden ist, besteht keine Beziehung. Handeln Sie in beiden Fällen entsprechend.

Stellen Sie sicher, dass Sie die Abfrage gemäß der PHP- und SQL-Syntax verwenden. Wenn IDs char oder varchar sind, sollten diese in der Abfrage von einfachen oder doppelten Kommas umgeben sein.

So:Wenn IDs varchar oder char sind, dann

$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";

und ob die IDs int oder irgendwelche anderen Ziffernwerte sind (entsprechend der Tabellenspalte)

$query = "SELECT * FROM following where idUser = ".$id." AND followingID = ". $followingId."";

Stellen Sie außerdem sicher, dass die von mir verwendeten Spaltennamen und Tabellennamen korrekt sind.

Lassen Sie uns nun zuerst die Abfrage ausführen

$result = mysql_query($query); // this method works but is not preferred. better if insert query here instead of variable $query

Lassen Sie uns nun überprüfen, wie viele Zeilen ausgewählt wurden, und entsprechende Maßnahmen ergreifen.

if(mysql_num_rows($result) > 0){
    //do something here or show error because relation already exists
}
else{
   //relation already do not exists. so you can insert the record here
}

HINWEIS: die Funktionen mysql_query und mysql_num_rows sind seit PHP 5.5.0 veraltet. Da ich vor langer Zeit in PHP programmiert habe, erinnere ich mich jetzt an diese. Alternative finden Sie auf der PHP-Website. Aber diese Funktionen funktionieren immer noch.http://php.net/manual/en /function.mysql-query.php und http://php.net/manual/en/function. mysql-num-rows.php