2016-10-25 2 views
0

я есть WITTEN этот класс PHP, но у меня есть проблемы с использованием его,вызов функции из PHP класса

<?php 
    class cs_mysql{ 
     protected $configPath; 
     protected $db; 
     function __construct($cP = null){ 
      $this->configPath = $cP; 
      require $this->configPath; 
     } 
     private function connection(){ 
      $db = new mysqli(Config::get('dbHost'),Config::get('dbUser'),Config::get('dbPass'),Config::get('dbName')); 
     } 
     public function getRow($table){ 
      $query = 'SELECT * FROM $table ORDER BY `id` DESC'; 
      $sql = $this->db->query($query); 
      if(!$sql){ 
       echo "FALSE"; 
      } 
     } 
    } 
?> 

я не знаю, как запустить дб запрос: $sql = $this->db->query($query);

+2

'$ this-> db = new mysqli' –

+1

Но вы используете' connection() 'где-нибудь? Я не вижу, чтобы ты это называл. –

+1

Исходя из этого кода, $ db всегда будет null, потому что 'connection()' никогда не запускается. – Brian

ответ

0

Изменение

$db = new mysqli(Config::get('dbHost'),Config::get('dbUser'),Config::get('dbPass'),Config::get('dbName')); 

в

$this->db = new mysqli(Config::get('dbHost'),Config::get('dbUser'),Config::get('dbPass'),Config::get('dbName')); 

$ db является свойством класса. Чтобы получить доступ к свойствам класса (и методам), вы должны ссылаться на экземпляр класса, используя $this.

+0

Я изменил его, но он не работает все же .... –

+0

У меня эта ошибка: Неустранимая ошибка: Непринятая ошибка: вызов функции функции-члена() в нуле в /Applications/XAMPP/xamppfiles/htdocs/bonbegir/bbadmin/classes/mysql.class.php:14 Трассировка стека: # 0 /Applications/XAMPP/xamppfiles/htdocs/bonbegir/index.php(7): cs_mysql-> getRow ('category') # 1 {main} throw in/Applications/XAMPP/xamppfiles/htdocs/bonbegir/bbadmin/classes/mysql.class.php в строке 14 –

+0

@AmirMohammadRivand, как я упоминал в своем комментарии к вашему вопросу, вы не вызываете 'connection()' нигде, поэтому '$ this-> db' будет null. Вы должны вызывать '$ this-> connection()' перед тем, как вы выполните '$ this-> db-> query()' –

Смежные вопросы