K tomu musíte provést transakci.
Nejprve proveďte výběr.
SELECT * FROM following where idUser = $id AND followingID = $followingId
Nyní, pokud výše uvedený dotaz vybere jeden nebo více řádků, pak již existuje vztah, a pokud žádný řádek (nula řádků), neexistuje žádný vztah. Pro obě situace proveďte příslušné kroky.
Ujistěte se, že používáte dotaz podle syntaxe PHP a SQL. Pokud jsou ID char nebo varchar, pak by v dotazu měla být ohraničena jednoduchou nebo dvojitou čárkou.
Takto:pokud jsou ID varchar nebo char, pak
$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";
a pokud jsou ID int nebo jakékoli jiné číselné hodnoty (podle sloupce tabulky)
$query = "SELECT * FROM following where idUser = ".$id." AND followingID = ". $followingId."";
Také se ujistěte, že názvy sloupců a tabulky, které jsem použil, jsou správné.
Nyní nejprve provedeme dotaz
$result = mysql_query($query); // this method works but is not preferred. better if insert query here instead of variable $query
Nyní zkontrolujeme, kolik řádků vybral, a podnikneme příslušné kroky.
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
}
POZNÁMKA: funkce mysql_query a mysql_num_rows jsou od PHP 5.5.0 zastaralé. Protože jsem v php kódoval už dávno, tak si je pamatuji právě teď. Alternativu najdete na stránkách php. Tyto funkce však stále fungují.http://php.net/manual/en /function.mysql-query.php ahttp://php.net/manual/en/function. mysql-num-rows.php