Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sprawdź, czy istnieje wiersz z podanymi wartościami

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problem Varchar na Mysql 2147483647

  2. MySQL:usuń wszystkie wiersze, nie tylko zaktualizowane

  3. Przedwczesny koniec błędu danych w PHP

  4. MySQL odpowiednik modułu dblink w PostgreSQL?

  5. jak upewnić się, że rekord jest zawsze na górze w danym zestawie wyników w mysql?