Ошибка на уровне объектов и функций

Печать RSS
321

Y
Автор
Землянин
0
Башка (8 Ноября 2013 / 23:44)
Тебе, автор, нужно конкретезировать цели
Просто этот вариант не заработал, вышла другая ошибка
Цель: Хочу занести в функцию
 $sql = 'SELECT * FROM `users_pc`';
 $result = $mysqli->query($sql); // Запрос посредством php+mysql(i) в БД
 $row = $result->fetch_assoc(); // Преобразование результата даных полученых с БД в ассоциативный массив 
не знаю почему то выходит ошибка. Может хотябы методом ООП покажешь как можно организовать это?
А

Оранжевые штаны
0
Ну тебе ответили: переменной $mysqli в области видимости функции нет, вот оно и ругается. Или используй global или реализуй Локатор служб. Пример приведу:
class Services{
  private $services = [];
  private $object;

  private function __construct(){}

  public static function getInstance(){
    if(is_null($this->object)){
      $this->object = new self;
    }
    return $this->object;
  }

  public function getService($name){
    switch($name){
      case 'mysqli':
        if(!isset($this->services[$name])){
          $this->services[$name] = new MySQLi(...);
        }
        break;
    }
    $this->services[$name];
  }
}

function syncPC(...){
  $mysqli = Services::getInstance()->getService('mysqli');
  ...
}
На ошибки не проверял
Изменил: Артур (09.11.2013 / 15:31)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск