MySQL连接和数据获取

时间:2013-07-23 14:17:14

标签: php mysql database

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

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";,那么它的工作原理一定是我认为的数据库连接问题。

1 个答案:

答案 0 :(得分:0)

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