所以我一直在尝试修改我下载的一些代码,下面的代码位于文件的顶部:
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";
,那么它的工作原理一定是我认为的数据库连接问题。
答案 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];
}