-2

コードに問題があります。user.title が正しく機能していないようです。コードがログインを渡していません。コードは次のとおりです。

public function isGroupMember($id)
{
    global $conn;
    $sql = "SELECT user.title, Groups.* FROM user INNER JOIN Groups ON user.title = Groups.Group_ID
            WHERE 
            user_id='" . fixstr($this->user_id) . "'
            AND
            user.title='" . fixstr($db->mysql_escape($id)) . "'
            LIMIT 1
            ";
    if(getnum($sql) > 0) {
        return true;
    } else {
        return false;
    }
}

コードが以前に書かれた方法:

user.title = '".$db->sql_escape($db->sql_escape($id))."'

user.title と書かれている箇所では、括弧内のコードが正しく設定されていません。このコードでは mysql_escape が使用されていません。

修理コード:

function fixstr($str){
    $str = trim($str);
    $str = str_replace("'", "''", $str);
    return $str;
}

getnum:

function getnum($sql)
{
    global $conn;

    $result1 = mysql_query($sql);

    if($result1){
        $row1 = mysql_fetch_array($result1);

        $num = $row1["num"];

        return $num;
    }
}

私のコードの修正は何ですか?

4

2 に答える 2