2017-05-12 56 views
0

所以我想要做的是显示谁在团队中。我创建了一个名为getTeam()的函数。未定义的函数getTeam()

class admin 
{ 
    private $db; 

    public function __construct($conn) 
    { 
     return $this->db; 
    } 
    public function getTeam($teamname) 
    { 
     try 
     { 
      $sql = "SELECT * FROM `tbl_players` WHERE EXISTS (SELECT id FROM `tbl_teams` WHERE team_name=:team_name)"; 
      $stmt = $this->db->prepare($sql); 
      $stmt->bindparam(":team_name", $teamname); 
      $stmt->execute(); 
      return $stmt; 
     } 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 
    } 
} 

这是我DBCONNECT我使用

session_start(); 
$DB_host = "localhost"; 
$DB_user = "root"; 
$DB_pass = ""; 
$DB_name = "project_fifa"; 

try 
{ 
    $conn = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 
include ('assets/classes/admin.php'); 
$user = new admin($conn); 

所以现在我想在这里使用

require('../dbconnect.php'); 

if(isset($_POST['findteam'])){ 
$teamname = $_POST['teamname']; 
getTeam($teamname); 
} 

功能,不能找到函数和我不不知道为什么。

+1

getTeam()是类的函数。你需要将它应用到一个类实例中,比如$ user-> getTeam($ teamname) – RST

+0

你试图使用'$ user-> getTeam($ teamname);'来访问类'admin'内的函数。 – Jer

回答

0

如果你正在做的代码OOPS,首先,你必须了解它Read it

对象(新的)一些基础知识: 要创建一个类的实例,必须使用new关键字。一个对象将始终创建,除非该对象具有一个定义的错误时引发异常的构造函数。实例化之前应该定义类(在某些情况下,这是一个要求)。

如果包含类的名称的字符串与new一起使用,则将创建该类的新实例。如果该类位于名称空间中,则在完成此操作时必须使用完全限定名称。

$adminObject = new admin(); 
$adminObject->getTeam($teamname); 
+1

也许testObject想称为adminObject – RST

+0

@RST谢谢我更新 –

+0

非常感谢。我应该知道的。完全查看它。 – TheRealDeal