2017-05-12 16 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(); 
     } 
    } 
} 

は、私はだから今、私はここに

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

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

を機能を使用しようとしているそれは機能とIドンを見つけることができません

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

を使用しています私のdbConnectのです理由は分かりません。

+1

getTeam()は、クラスの関数です。 $ user-> getTeam($ teamname)のようなクラスインスタンスにそれを適用する必要があります。 – RST

+0

クラス 'admin'の中にある関数にアクセスしようとしています。代わりに' $ user-> getTeam($ teamname); 'を使用してください。 – Jer

答えて

0

あなたはOOPSでコードを実行している場合は、まずあなたがRead it

にそれについてのオブジェクト(新しい)いくつかの基本を習得する必要があります。クラスのインスタンスを作成するには を、新しいキーワードを使用する必要があります。オブジェクトは、エラー時に例外をスローするコンストラクタが定義されていない限り、常に作成されます。インスタンス化の前にクラスを定義する必要があります(場合によってはこれが必須です)。

クラス名を含む文字列をnewとともに使用すると、そのクラスの新しいインスタンスが作成されます。クラスが名前空間にある場合は、このときに完全修飾名を使用する必要があります。

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

おそらくtestObjectはadminObjectと呼ばれるようになります – RST

+0

@RSTありがとう私は更新中です –

+0

ありがとう。私は知っていたはずです。それを完全に見渡した。 – TheRealDeal