2014-04-27 99 views
0

我试图保存用户到数据库,似乎一切都很好,除了一个问题为什么PHP仍然显示我的方法为Undefined?

为什么每次我打电话save_user(......)我得到

Fatal error: Call to undefined function check_user() in ... on line 47 

连接类:

class Db_connect { 

    function __construct(){ 

    } 
    function __destruct(){ 

    } 
    function connect(){ 
     $connect = MySQL_Connect ("host", "user", "pass") or Die("Couldn't connect to DB"); 
     MySQL_Select_Db("db") or Die("Couldn't find database db"); 
     mysql_query("SET NAMES 'utf-8'"); 

     return $conect; 
    } 
    function close(){ 
     MySQL_close(); 
    } 

} 

功能类

class Db_functions { 
    private $db; 

    function __construct(){ 
     $this->db = new Db_connect(); 
     $this->db->connect(); 
    } 
    function __destruct(){ 

    } 

    public function check_user($email,$pass){ 
     $result = "SELECT email FROM user WHERE email='$email' AND pass='$pass'"; 
     $sql = mysql_query($result); 

     if (mysql_num_rows($sql) > 0) { 
      return true; 
     } 
     return false; 
    } 

    public function save_user($id,$name,$pass,$email,$country){ 
     $result = "INSERT INTO user(id,name,pass,email,country) VALUES('$id','$name','$pass','$email','$country')"; 

     if (check_user($email,$pass)) { //here's line 47 
      return false; 
     } 
     if (mysql_query($result)) { 
      return true; 
     } 
     return false; 
    } 
} 

我GET婷真的很累:DI找不到什么不对

+0

你有你的连接功能'$回报瞬移一个错字;'应该是'$返回连接;' –

+0

感谢的。那将是另一个问题:D –

回答

2

您正在访问的类成员为

if (check_user($email,$pass)) { 

这是不正确的,你需要做的是

if ($this->check_user($email,$pass)) { 

这必须是在您的代码中更正。

http://www.php.net/manual/en/language.oop5.visibility.php

+1

天啊!非常感谢:)我一次混合java,php和批处理,这种类型的错误非常糟糕 –

相关问题