0

我正在尝试让一个函数正常工作(顺便说一句,这对函数来说是非常新的)这就是我所拥有的,但是当我将它实现到我的页面中时它不会产生任何结果。有人能看出这有什么问题吗?

public function get_character() {
        $con=mysql_connect("****","****","****");
        mysql_select_db("accounts", $con);
        $id = mysql_query("SELECT id FROM account WHERE username = '" . $username . "'");
        global $characterdb;
        $info = $characterdb->get_row("SELECT `name` FROM `characters` WHERE `account` = '" . $characterdb->escape($id) . "' AND `active`=1");
        if(is_object($info))
            return $info->character;
        else
            return '';
    }
4

2 回答 2

1

$id是一个 Mysql Result,而不是你可以在另一个查询中使用的整数。首先,您需要从该行获取行和 id。

另外:考虑将 $characterdb 作为参数传递给函数或将其作为类变量。

通过 global 导入它是最不吸引人的选择。;)

于 2012-10-24T08:41:37.883 回答
0

您在查询中遗漏了一个字段。见下文。而不是名称,它应该是您的选择查询中的字符。

$info = $characterdb->get_row("SELECT `character` FROM `characters` WHERE `account` = '" .   $characterdb->escape($id) . "' AND `active`=1");
    if(is_object($info))
        return $info->character;
    else
        return '';
于 2012-10-24T08:41:27.363 回答