コードに問題があります。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;
}
}
私のコードの修正は何ですか?