Mysql
 sql >> Base de données >  >> RDS >> Mysql

Vérifier si une ligne avec des valeurs données existe

Vous devez effectuer une transaction pour cela.

Effectuez d'abord la sélection.

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

Maintenant, si la requête ci-dessus sélectionne une ou plusieurs lignes, il existe déjà une relation et s'il n'y a pas de ligne (zéro ligne), il n'y a pas de relation. Dans les deux cas, agissez en conséquence.

Assurez-vous d'utiliser la requête conformément à la syntaxe PHP et SQL. Si les identifiants sont char ou varchar, ils doivent être entourés de virgules simples ou doubles dans la requête.

Comme ceci :si les ID sont varchar ou char alors

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

et si les ID sont des entiers ou toute autre valeur numérique (selon la colonne du tableau)

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

Assurez-vous également que les noms de colonne et le nom de table que j'ai utilisés sont corrects.

Maintenant, exécutons d'abord la requête

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

Vérifions maintenant le nombre de lignes sélectionnées et prenons les mesures appropriées.

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
}

REMARQUE : les fonctions mysql_query et mysql_num_rows sont obsolètes depuis PHP 5.5.0. Parce que j'ai codé en php il y a longtemps, je m'en souviens donc maintenant. Alternative que vous pouvez trouver sur le site Web php. Mais ces fonctions fonctionnent toujours.http://php.net/manual/en /fonction.mysql-query.php ethttp://php.net/manual/en/function. mysql-num-lignes.php