1

アプリケーション内でフォロワー/フォロー関係を作成するためのクエリがあります。

INSERT INTO following(IdUser,followingID) VALUES('%d','%d')", $id, $followingId

2 人のユーザー間の関係が既に存在するかどうかを確認するためのクエリは何でしょうか?

または、2 人のユーザー間に関係が存在しないかどうかを確認するにはどうすればよいですか?

通常、次のように iOS アプリケーションで結果を返します。

    if (!$result['error']) {
    // if no error occured, print out the JSON data of the 
    // fetched photo data
    print json_encode($result);
} else {
    //there was an error, print out to the iPhone app
    errorJson('Follow is broken');
}

どんな助けでも大歓迎です。

4

5 に答える 5

2

このための取引を行う必要があります。

最初に選択を実行します。

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

上記のクエリで 1 つ以上の行が選択された場合、既に関係が存在し、行がない場合 (ゼロ行) は関係がありません。どちらの状況でも、それに応じて対処してください。

PHP および SQL 構文に従って、必ずクエリを使用してください。ID が char または varchar の場合、クエリではこれらを 1 つまたは 2 つのコンマで囲む必要があります。

このように: ID が varchar または char の場合

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

ID が int またはその他の数値の場合 (テーブルの列による)

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

また、使用した列名とテーブル名が正しいことを確認してください。

それでは、まずクエリを実行しましょう

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

次に、選択された行の数を確認し、適切なアクションを実行しましょう。

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
}

注:関数 mysql_query および mysql_num_rows は、PHP 5.5.0 で非推奨になりました。私はずっと前にphpでコーディングしたので、今でもこれらを覚えています。別の方法は、php Web サイトで見つけることができます。しかし、これらの機能は引き続き機能します。 http://php.net/manual/en/function.mysql-query.phpおよび http://php.net/manual/en/function.mysql-num-rows.php

于 2013-08-06T20:58:19.880 に答える
1

の一意のインデックスを定義するIdUserと、新しいものを挿入する代わりに更新する代わりに使用followingIdできます。REPLACEINSERT

HTH(お役に立てば幸いです)

于 2013-08-06T20:54:50.380 に答える