我的代码PHP存在问题

时间:2013-09-18 20:43:05

标签: php

嘿我的代码有问题,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;
    }
}

我的代码有什么修复方法?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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