sql >> Databáze >  >> RDS >> Mysql

Zkontrolujte, zda existuje řádek s danými hodnotami

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



  1. MySql fulltextové vyhledávání v PHP pomocí řetězce obsahujícího klíčová slova

  2. Převod řetězce s oddělovači na více hodnot v mysql

  3. SQL SERVER - Pochopení toho, jak funguje MIN(text).

  4. Ukládání dat v MySQL jako JSON