W tym celu musisz dokonać transakcji.
Najpierw dokonaj wyboru.
SELECT * FROM following where idUser = $id AND followingID = $followingId
Teraz jeśli powyższe zapytanie wybierze jeden lub więcej wierszy to istnieje już relacja, a jeśli nie ma wiersza (zero wierszy) to nie ma relacji. W obu sytuacjach podejmij odpowiednie działania.
Upewnij się, że używasz zapytania zgodnie ze składnią PHP i SQL. Jeśli identyfikatory to char lub varchar, w zapytaniu powinny być otoczone pojedynczymi lub podwójnymi przecinkami.
Tak:jeśli identyfikatory to varchar lub char, to
$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";
i czy identyfikatory są wartościami int lub innymi cyframi (zgodnie z kolumną tabeli)
$query = "SELECT * FROM following where idUser = ".$id." AND followingID = ". $followingId."";
Upewnij się również, że nazwy kolumn i nazwa tabeli, których użyłem, są poprawne.
Teraz najpierw wykonajmy zapytanie
$result = mysql_query($query); // this method works but is not preferred. better if insert query here instead of variable $query
Sprawdźmy teraz, ile wierszy zaznaczył i podejmijmy odpowiednie działania.
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
}
UWAGA: funkcje mysql_query i mysql_num_rows są przestarzałe od PHP 5.5.0. Ponieważ kodowałem w php dawno temu, więc teraz je pamiętam. Alternatywę można znaleźć na stronie php. Ale te funkcje nadal działają.http://php.net/manual/en /function.mysql-query.php oraz http://php.net/manual/en/function. mysql-num-rows.php