sql >> Base de Datos >  >> RDS >> Mysql

Comprobar si existe una fila con valores dados

Tienes que hacer una transacción para esto.

Primero realice la selección.

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

Ahora, si la consulta anterior selecciona una o más filas, entonces ya existe una relación y si no hay fila (cero filas), entonces no hay relación. Para ambas situaciones, actúe en consecuencia.

Asegúrese de utilizar la consulta de acuerdo con la sintaxis de PHP y SQL. Si los ID son char o varchar, en la consulta deben estar entre comas simples o dobles.

Así:si las ID son varchar o char entonces

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

y si los ID son enteros o cualquier otro valor de dígito (según la columna de la tabla)

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

También asegúrese de que los nombres de las columnas y el nombre de la tabla que he usado sean correctos.

Ahora primero ejecutemos la consulta

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

Ahora verifiquemos cuántas filas ha seleccionado y tomemos las medidas apropiadas.

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: las funciones mysql_query y mysql_num_rows están obsoletas a partir de PHP 5.5.0. Porque codifiqué en php hace mucho tiempo, así que recuerdo esto ahora. Alternativo que puede encontrar en el sitio web de php. Pero estas funciones aún funcionan.http://php.net/manual/en /función.mysql-query.php y http://php.net/manual/en/function. mysql-num-filas.php