MySQL连接和数据获取


MySQL Connection and Data Fetch

所以我一直在尝试修改我下载的一些代码,下面的代码位于文件的顶部:

private $db; // Holds mysqli Variable
    function __construct(){
        $this->db = new mysqli('justcodeus.ipagemysql.com', 'autolike', '[my password]', 'autolike');
    }

然后,我创建了一个函数来获取用户的电子邮件:

public function get_email($username){
        $query = "SELECT email FROM users WHERE username='$username'";
        return mysql_result($this->db->query($query),0);
    }

最后,在我的另一个文件中:

if($this->model->get_email("someuser") != null){
            echo "User's email address is " . $this->model->get_email("roomzinchina");
        }else{
            echo "Could not find user or the function failed to run and/or turned up an error.";
        }

运行时,我会收到Could not find user消息,尽管在我的数据库中有一个测试用户名someuser和电子邮件someuser@gmail.com。你知道为什么这可能不起作用吗?

编辑:在提到的第三个文件的顶部是require("model.php");$this->model = new Model();。此外,如果我将return mysql_result($this->db->query($query),0);更改为return "test";,它会起作用,所以我认为数据库连接一定有问题。

正如DeiForm所提到的,我混淆了mysql_*mysqli_*,这意味着我不能使用mysql_result。我通过如下更改修复了我的功能代码:

public function get_email($username){
        $query = "SELECT email FROM users WHERE username='$username'";
        $result = $this->db->query($query);
        $result->data_seek(0);
        $row = $result->fetch_row();
        return $row[0];
    }