Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как обратиться к переменной в другой функции

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imedia
Отправлено: 01 Ноября, 2015 - 15:50:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Есть функция
PHP:
скопировать код в буфер обмена
  1.  
  2. function conn() { // подключение к БД
  3.   $dbh = new PDO('mysql:host=site.com;dbname=c1site', 'c1site', 'sun');
  4. }
  5.  


Как обратиться к этому объекту из другой функции этого же класса
пробую так не получается
PHP:
скопировать код в буфер обмена
  1.  
  2. function insert(){
  3. $sql='INSERT ...'
  4. $this->conn->dbh->query($sql);
  5. }
  6.  

(Отредактировано автором: 01 Ноября, 2015 - 15:51:38)

 
 Top
vova3261
Отправлено: 01 Ноября, 2015 - 17:00:07
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




У вас функция ничего не возвращает
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function conn() { // подключение к БД
  4.   $dbh = new PDO('mysql:host=site.com;dbname=c1site', 'c1site', 'sun');
  5. return $dbh;
  6. }
  7.  
  8. function insert(){
  9. $sql='INSERT ...'
  10. $this->conn()->query($sql);
  11. }
  12.  
  13.  
  14.  

(Отредактировано автором: 01 Ноября, 2015 - 17:00:42)

 
 Top
imedia
Отправлено: 01 Ноября, 2015 - 19:17:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




vova3261
Да спасибо, но вот поче му то возникает ошибка при обращении через $this
Notice: Undefined property: User::$conn in /var/www/clients/client1/web28/w eb/protected/Main.php on line 47

Fatal error: Call to a member function query() on null in /var/www/clients/client1/web28/w eb/protected/Main.php on line 47

дело в том что этот контроллер расширяется контроллером UsersController который в свою очередь обращается к моделе User
А модель обращается к методу parent::insert('users', $data); Main контроллера

(Отредактировано автором: 01 Ноября, 2015 - 19:18:14)

 
 Top
Viper
Отправлено: 01 Ноября, 2015 - 19:27:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




imedia пишет:
Да спасибо, но вот поче му то возникает ошибка при обращении через $this
потому что нет у вас классе User переменной $conn. У вас какой-то венегрет из классов.
У вас User это модель или контроллер? Если второе, то что там делает у вас объект соединения к БД?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
imedia
Отправлено: 01 Ноября, 2015 - 19:38:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Viperда винегред сделаю просто parent::conn()->query()
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB