PHP.SU

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

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

> Найдено сообщений: 3
FactoREAL Отправлено: 21 Марта, 2016 - 07:38:28 • Тема: Подскажите как правильно прогграмировать на ООП • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 1331
ИМХО сначала надо просто изучить ООП (не в контексте сайтостроения). А уж потом разбираться как его применить в написании сайта (для этого сейчас очень часто применяют MVC). По поводу литературы - гугл по интересующим вопросам. Темы не очень сложные, достаточно пары статей что б понять основы. В идеале конечно лучше читать книжки, что б боле глубоко понимать тему, но с ними уже не подскажу.
FactoREAL Отправлено: 18 Марта, 2016 - 14:07:48 • Тема: Класс для подключения к БД (MySQL) • Форум: Объектно-ориентированное программирование

Ответов: 2
Просмотров: 1168
видимо да. а точнее можете сказать что за класс ? где он есть ?
но все равно хотелось бы разобраться что не так в моем коде. в данном случае мне важнее понять как это сделать, чем просто взять готовый класс, написанный кем то. Мне нужно-то всего 10 строк кода и ради этого не хочу брать чужой класс с кучей ненужных мне методов.
FactoREAL Отправлено: 18 Марта, 2016 - 12:40:05 • Тема: Класс для подключения к БД (MySQL) • Форум: Объектно-ориентированное программирование

Ответов: 2
Просмотров: 1168
Добрый день. помогите пожалуйста разобраться в ситуации. Имеется приложение с MVC архитектурой. Написал класс для подключения к БД MySQL
PHP:
скопировать код в буфер обмена
  1. class dbMysql {
  2.         private $connection;
  3.  
  4.         public function connect($host, $user, $pass, $db) {
  5.                 $this->connection = mysql_connect($host, $user, $pass);
  6.                 if ($this->connection) {
  7.                         mysql_select_db($db, $this->connection);
  8.                         mysql_query("SET NAMES utf8", $this->connection);
  9.                 }
  10.                 return $this->connection;
  11.         }
  12.  
  13.         public function disconnect() {
  14.                 if ($this->connection) {
  15.                         mysql_close($this->connection);
  16.                 }
  17.         }
  18. }

Данный класс только создает и разрывает подключение к БД и возвращает линк на подключение, который будет в дальнейшем использовать вне этого класса для выполнения запросов к БД. Вот так я это делаю в модели (код я упростил):
PHP:
скопировать код в буфер обмена
  1. class Model_wealth extends Model {
  2.         protected $db;
  3.         protected $dbLink;
  4.         public function __construct() {
  5.                 $this->db = new dbMysql();
  6.                 $this->dbLink = $this->db->connect('localhost', 'user', 'password', 'db');
  7.  
  8.         }
  9.  
  10.         function __destruct() {
  11.                 $this->db->disconnect();
  12.         }
  13.  
  14.         public function get_data() {
  15.                 $res = array();
  16.                 $query = mysql_query("SELECT rajons.id, rajons.name FROM rajons
  17.                                                         right join (select rajon_id from building group by rajon_id) as tmp
  18.                                                         ON rajons.id=tmp.rajon_id", $this->dbLink);
  19.                 $cnt = mysql_num_rows($query);
  20.                 for ($i=0; $i<$cnt; $i++) {
  21.                         $id = mysql_result($query, $i, 0);
  22.                         $name = mysql_result($query, $i, 1);
  23.                         $res[$id] = $name;
  24.                 }
  25.                 return $res;
  26.         }
  27. }

При выполнении метода get_data() не выполняется sql запрос. выводит ошибку Warning: mysql_query(): 11 is not a valid MySQL-Link resource . Вывод Var_dump($this->dbLink) показывает resource id='11' type='Unknown', хотя если сдампить это значение в конструкторе модели, то оно нормальное и равняется resource id='11' type='mysql link'. Так же, если выполнить запрос к БД в конструкторе модели, то он выполнится успешно. Выходит, что линк где то теряется. Помогите разобраться, что я делаю не так...

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB