2017-06-16 47 views
0

我有文件名爲dbcontroller.php。該文件是一個具有mysql函數的舊文件。但現在我試圖將它轉換成mysqli函數。一切正常,但$connmysqli_connect($conn,$query)提供了一個錯誤。如何解決這個問題?db控制器中的連接錯誤-php

代碼

class DBController { 
    private $host = "localhost"; 
    private $user = "root"; 
    private $password = ""; 
    private $database = "stores"; 

    /** 
    * DBController constructor. 
    */ 
    public function __construct() { 
     $conn = $this->connectDB(); 
     if(!empty($conn)) { 
      $this->selectDB($conn); 
     } 
    } 

    function connectDB() { 
     $conn = mysqli_connect($this->host,$this->user,$this->password); 
     return $conn; 
    } 

    function selectDB($conn) { 
     mysqli_select_db($conn,$this->database); 
    } 

    function runQuery($query) { 
     $result = mysqli_query($conn,$query);// error 
     while($row=mysqli_fetch_assoc($result)) { 
      $resultset[] = $row; 
     }  
     if(!empty($resultset)) 
      return $resultset; 
    } 

    function numRows($query) { 
     $result = mysqli_query($conn,$query);// error 
     $rowcount = mysqli_num_rows($result); 
     return $rowcount; 
    } 
} 
+0

msg的錯誤是什麼意思? – ThisGuyHasTwoThumbs

+0

conn未在其他功能或頁面中使用。 – tabia

+1

ah使$ conn成爲一個沒有默認變量的公共變量,然後在你的__construct中將$ this-> conn賦值給connectDB函數,看看會發生什麼:) – ThisGuyHasTwoThumbs

回答

1

我認爲這個問題是在這裏:

public function __construct() { 
     $conn = $this->connectDB(); 
     if(!empty($conn)) { 
      $this->selectDB($conn); 
     } 
    } 

這裏$conn必須與其他變量定義的類變量,可以像訪問:

$this->conn 
+0

我沒搞懂 – tabia

+0

make $ conn是一個沒有默認值的公共變量變量,然後在你的__construct中將$ this-> conn賦值給connectDB函數 –