-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;
}

获取编号:

function getnum($sql)
{
    global $conn;

    $result1 = mysql_query($sql);

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

        $num = $row1["num"];

        return $num;
    }
}

我的代码有什么解决方法?

4

2 回答 2

2

请让您的生活更轻松,不要重新发明轮子。你可以使用PDO

于 2013-09-18T20:47:13.683 回答
1

在某些数据库引擎User中 - 是受保护的 SQL 关键字。

于 2013-09-18T20:54:42.503 回答