Показать сообщение отдельно
  #1 (permalink)  
Старый 22.07.2013, 23:29
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

Получение значения свойства из класса.
Приветствую.

На php.net есть такое:
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не установлено: %s\n", mysqli_connect_error());
    exit();
}


$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("ID новой записи: %d.\n", $mysqli->insert_id);


У меня создан класс DB который делает все операции с БД.
Использую его так:

$this->DB = new DB();


И получается что я немогу сделать так :

echo $this->DB->insert_id;


Мое решение:
В созданном классе DB создал доп. поле

$this->last_insert_id = $this->mysqli->insert_id;


Данный код срабатывает после Inserta

теперь я могу получать id последней добавленной записи через поле
$this->DB->last_insert_id


Но дело в том что недавно узнал о излишней памяти которая выделяется под поля. Рекомендовалось ограничить их использование. Но и конечно само решение непомешает. По сути я не хочу манипулировать созданным соединением, но и писать методы для получения того что стандартно тоже.

Возможно имеет смысл както возвращать соединение как обьект?
Дело в том, что используя стандартные названия методов лучше так как не нужно изучать что за ним скрывается.
Ответить с цитированием