Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从多个SQL数据库创建函数_Php - Fatal编程技术网

Php 从多个SQL数据库创建函数

Php 从多个SQL数据库创建函数,php,Php,我试图让一个函数工作(对函数来说是非常新的),这就是我所拥有的,但是当我在我的页面中实现它时,它不会产生任何结果。有人能看出这有什么不对吗 public function get_character() { $con=mysql_connect("****","****","****"); mysql_select_db("accounts", $con); $id = mysql_query("SELECT id FROM account WHE

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

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

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

$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 '';

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

还应考虑将$HybDB传递给函数作为参数或将其作为类变量。


通过global导入是最没有吸引力的选择。;)

添加一些基本的调试,您将看到错误。可能在$characterdb->escape($id)中,escape是一个函数,他试图使用mysql_fetch_数组获取id并返回它。对于这样的函数,这将是一个奇怪的名称:)我添加了一个结果,并根据
code
$row['name']设置了一个变量
code
解决了我的问题。谢谢。:)