簡體   English   中英

OOP PHP連接和選擇功能

[英]OOP PHP connect and select functions

大家好,我遇到了以下問題。 我有一個具有完全正常工作的connect函數的數據庫類,現在我想在其他類News中使用此myconn變量。 無論我采用哪種方式,我都會不斷收到錯誤消息。 消息之一是;

在第10行的C:\\ Users \\ PC \\ Documents \\ XAMPP \\ htdocs \\ class.News.php中的非對象上調用成員函數prepare()

我是OOP的新手,所以我們將不勝感激。

類。數據庫

<?php

class Database{

private $db_host = 'localhost'; 
private $db_user = 'c3337015'; 
private $db_pass = 'c3337015'; 
private $db_name = 'iitb'; 
public $myconn;

public function connect(){

if(!isset($this->myconn)){

$this->myconn = mysqli_connect($this->db_host,$this->db_user,$this->db_pass,$this->db_name);

if($this->myconn){
    echo "connected"; // echoing just for testing purposes
    return true; 
}else{
echo "failed";
return false; 
}}else{
echo "already connected";
return false; 
}
 }

public function disconnect()
{
if(isset($this->myconn))
{
    if(mysqli_close($this->myconn))
    {
        $this->myconn = false; 
        echo "connection closed";
        return true; 
    }
    else
    {
    echo "failed to close connection";
        return false; 
    }
}else{
    echo "no connection prescent";
}
}

}

新聞類

<?php
require_once('class.Database.php');
class News extends Database{

function getNews(){

$me = new Database();
$me->connect();
// HOW DO I USE THE MYCONN VARIABLE AS DEFINED IN CLASS.DATABASE
$stmt = $this->myconn->prepare(" SELECT * FROM news ");

//the rest of the $stmt etc etc....

}

}

如果要在其他類中使用數據庫類,則它是另一種依賴關系。 您的課程不應擴展數據庫課程,因為它不能。

您應該像以前一樣僅包含數據庫類並使用它。

然后,您應該像這樣使用它(基於您提供的代碼):

$me = new Database();
$me->connect();
$stmt = $me->myconn->prepare(" SELECT * FROM news ");

但是您可能應該在繼續之前閱讀一些有關OOP的文章,因為您沒有正確使用此范例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM