2016-07-21 4 views
0

오늘 PHP 코드 스크립트를 작성했는데 치명적인 오류 메시지가 나타났습니다. 인터넷에서 해결책을 찾을 수 없습니다. 제발 도와주세요!치명적인 오류 : oop.php의 null에 대한 멤버 함수 query() 호출

치명적인 오류 : 줄에 oop.php에 널 (null)의 멤버 함수 쿼리()에 전화 (23)

<?php 

class DatabaseConnection { 

    public $dbconnection; 
    public $dbhost; 
    public $dbuser; 
    public $dbpass; 
    public $dbname; 

// Create connection 
    public function __construct($dbhost, $dbuser, $dbpass, $dbname) { 
    $this->dbconnection = new mysqli($this->dbhost = $dbhost, $this->dbuser = $dbuser, $this->dbpass = $dbpass, $this->dbname = $dbname); 
    } 

} 

class sql extends DatabaseConnection { 

    public $sql; 

    public function __construct($sql) { 
     if ($this->dbconnection->query($this->sql=$sql) === TRUE) { 
     echo "New record created successfully"; 
     } else { 
     echo "Error: " . $this->sql . "<br>" . $this->dbconnection->error; 
     } 
    } 

} 

끝 조상

<?php 
require 'oop.php'; 
$mydb = new DatabaseConnection("localhost", "admin", "admin", "tutorial"); 

if(isset($_POST['submit'])) { 

$firstname = $_POST['firstname']; 
$username = $_POST['username']; 
$password = $_POST['password']; 

$insertdata = new sql("INSERT INTO tutorial (firstname, username, password) 
VALUES ('$firstname', '$username', '$password')"); 
?> 

<p>Firstname: <?php echo $firstname; ?></p> 
<p>Username: <?php echo $username; ?></p> 
<p>Password: <?php echo $password; ?></p> 

<?php } ?> 



<form method="post"> 
<input type="text" name="firstname" placeholder="Firstname"/></br> 
<div style="height:10px;"></div> 
<input type="text" name="username" placeholder="Username"/></br> 
<div style="height:10px;"></div> 
<input type="password" name="password" placeholder="Password"/></br> 
<div style="height:10px;"></div> 
<input type="submit" name="submit" value="Enter"/> 

</form> 

답변

0

PHP를 호출하지 않습니다 index.php에있다 생성자이므로 기본적으로 sql 개체를 인스턴스화하면 이 호출되지 않으므로 $this->dbconnection이 존재하지 않습니다.

코드는해야

class sql extends databasdeconnection { 
    function __construct() { 
     parent::__construct(); // create dbconnection 
     ... use $this->dbconnection 
    } 
} 
관련 문제