2个文件之间的OOP交互

时间:2016-09-27 19:28:51

标签: php class oop

我遇到了2个文件之间的交互问题。我在PHP上学习OOP,但有一些事情我仍然不理解这个操作。错误是注意:未定义的变量:第16行的C:\ wamp64 \ www \ projet \ connectDB.class.php中的db和致命错误:在C:\ wamp64 \ www \ projet中调用null上的成员函数prepare()第16行的\ connectDB.class.php

的index.html:

<?php

require_once('connectDB.class.php');

try
{
 $conn = new Connection('xe','copie_tdf','copie_tdf');
}catch (PDOException $err){
echo "Err " . $err->getMessage();
}

$sql="SELECT nom,prenom FROM tdf_coureur";
$result=$conn->selectdb($sql);
foreach ($result as $r)
{
 echo $r->NOM." ".$r->PRENOM."<br/>";
}
?>

connectDB.class.php:

<?php
class Connection extends PDO{

protected $db;

public function __construct($dbname, $dbuser, $dbpass, $dbtype = 'oci')
{
  $db = new PDO($dbtype.':dbname='.$dbname, $dbuser, $dbpass);
}


public function selectdb($querySelect)
{
  $db->beginTransaction();
  $select = $db->prepare($querySelect);
  $select->execute();
  $resultat=$select->fetchAll(PDO::FETCH_OBJ);

  return $resultat;
}
}

?>

我希望你能找到解决方案,因为我没有看到任何解决方案与我目前的知识。 Thx事先

1 个答案:

答案 0 :(得分:0)

如评论中所述

protected $db;

public function __construct($dbname, $dbuser, $dbpass, $dbtype = 'oci')
{
  $this->db = new PDO($dbtype.':dbname='.$dbname, $dbuser, $dbpass);
}
  

$ this:指的是类的实例