Mysql
 sql >> Database >  >> RDS >> Mysql

Controlla se esiste una riga con valori specificati

Devi effettuare una transazione per questo.

Prima esegui la selezione.

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

Ora, se la query precedente seleziona una o più righe, esiste già una relazione e se nessuna riga (zero righe) non esiste alcuna relazione. Per entrambe le situazioni agire di conseguenza.

Assicurati di utilizzare la query in base alla sintassi PHP e SQL. Se gli ID sono char o varchar, nella query questi dovrebbero essere racchiusi tra virgole singole o doppie.

In questo modo:se gli ID sono varchar o char allora

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

e se gli ID sono int o qualsiasi altra cifra (in base alla colonna della tabella)

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

Assicurati inoltre che i nomi delle colonne e delle tabelle che ho utilizzato siano corretti.

Ora eseguiamo prima la query

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

Ora controlliamo quante righe ha selezionato e prendiamo le misure appropriate.

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
}

NOTA: le funzioni mysql_query e mysql_num_rows sono deprecate a partire da PHP 5.5.0. Perché ho codificato in php molto tempo fa, quindi li ricordo proprio ora. In alternativa puoi trovare sul sito Web php. Ma queste funzioni funzionano ancora.http://php.net/manual/en /funzione.mysql-query.php ehttp://php.net/manual/en/function. mysql-num-rows.php