0

良い一日、

私は次のphpコードで多くの問題を抱えています.そのための疑似コードは次のとおりです:

テーブルにリレーションシップが存在するかどうかを確認し、存在しない場合はリレーションシップをテーブルに追加します。それ以外の場合は、現在の関係を取得して返します。

コードは次のようになります。

    $result = mysql_query("SELECT * FROM friends WHERE (user_id = '" .$me. "' AND user_id2 = '" .$other. "') OR (user_id2 = '" .$me. "' AND user_id = '" .$other. "')");
if($result == false){
    mysql_query("INSERT INTO `friends`(`user_id`, `user_id2`, `status`) VALUES ('" .$me. "', '" .$other. "', 'pending')");
    echo("Friend Request Sent"); 
}
else{
    $res = mysql_query("SELECT 'status' FROM friends WHERE (user_id = '" .$me. "' AND user_id2 = '" .$other. "')");
    $rows = array();
    while($r = mysql_fetch_assoc($res)) {
        $rows[] = $r;
    }
    echo json_encode($rows); 

}

前もって感謝します

4

1 に答える 1

1

以下のif条件を試してください

if(mysql_num_rows($result)){
     mysql_query("INSERT INTO `friends`(`user_id`, `user_id2`, `status`) VALUES ('" .$me. "', '" .$other. "', 'pending')");
     echo("Friend Request Sent"); 
}

また、elseブロックは最初のクエリと同じである必要があり、次のようになります

else{
    $res = mysql_query("SELECT 'status' FROM friends WHERE (user_id = '" .$me. "' AND user_id2 = '" .$other. "') OR (user_id2 = '" .$me. "' AND user_id = '" .$other. "')") ;
    $rows = array();
    while($r = mysql_fetch_assoc($res)) {
       $rows[] = $r;
    }
    echo json_encode($rows); 
}
于 2012-10-18T19:03:15.693 に答える