Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Verifique se existe uma linha com os valores fornecidos


Você tem que fazer uma transação para isso.

Primeiro execute selecionar.
SELECT * FROM following where idUser = $id AND followingID = $followingId

Agora, se a consulta acima seleciona uma ou mais linhas, então já existe uma relação e se nenhuma linha (zero linhas), então não há relação. Para ambas as situações, tome as devidas providências.

Certifique-se de usar a consulta de acordo com a sintaxe PHP e SQL. Se os IDs forem char ou varchar, na consulta, eles devem ser cercados por vírgulas simples ou duplas.

Assim:se os IDs são varchar ou char então
$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";

e se os IDs forem int ou qualquer outro valor de dígito (de acordo com a coluna da tabela)
$query = "SELECT * FROM following where idUser = ".$id." AND followingID = ". $followingId."";

Verifique também se os nomes das colunas e o nome da tabela que usei estão corretos.

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

Agora vamos verificar quantas linhas ele selecionou e tomar as medidas apropriadas.
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
}

OBSERVAÇÃO: as funções mysql_query e mysql_num_rows estão obsoletas a partir do PHP 5.5.0. Porque eu codifiquei em php há muito tempo, então me lembro disso agora. Alternativa você pode encontrar no site php. Mas essas funções ainda funcionam.http://php.net/manual/en /function.mysql-query.php ehttp://php.net/manual/en/function. mysql-num-rows.php