2017-05-12 6 views
0

Also was ich tun möchte, ist zu zeigen, wer in einem Team ist. Ich habe eine Funktion namens getTeam() erstellt.Undefinierte Funktion 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(); 
     } 
    } 
} 

Hier ist meine DBConnect ich

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); 

die Funktion hier So, jetzt

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

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

Es kann nicht die Funktion und ich don finden verwenden Ich versuche, mit Ich weiß nicht warum.

+1

getTeam() ist eine Funktion der Klasse. Sie müssen es auf eine Klasseninstanz anwenden, wie $ user-> getTeam ($ teamname) – RST

+0

Sie versuchen, auf eine Funktion zuzugreifen, die innerhalb der Klasse 'admin' ist, verwenden Sie' $ user-> getTeam ($ teamname); 'stattdessen. – Jer

Antwort

0

Wenn Sie tun Code mit OOPS, Zuerst müssen Sie es Read it

Object (neu), einige Grundlagen lernen: Um eine Instanz einer Klasse zu erstellen, das neue Schlüsselwort verwendet werden müssen. Ein Objekt wird immer erstellt, es sei denn, im Objekt ist ein Konstruktor definiert, der im Fehlerfall eine Ausnahme auslöst. Klassen sollten vor der Instanziierung definiert werden (und in einigen Fällen ist dies eine Voraussetzung).

Wenn eine Zeichenfolge mit dem Namen einer Klasse mit new verwendet wird, wird eine neue Instanz dieser Klasse erstellt. Wenn sich die Klasse in einem Namespace befindet, muss ihr vollständig qualifizierter Name verwendet werden.

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

vielleicht testObject möchte adminObject genannt werden – RST

+0

@RST danke ich aktualisiere –

+0

Vielen Dank. Ich hätte es wissen sollen. Total darüber geschaut. – TheRealDeal

Verwandte Themen