В общем ребята есть такой код Заранее извиняюсь за глупый вопрос Код (Text): class Model {//Класс Model Это модель public $db;//Создается свойство $db в котором сохранен дескриптор подключения к базе данных // Подключаемся к базе данных методом конструтора public function __construct($host,$user,$password,$db){//Создаем аргументы в функции подключения к базе данных $this->db = mysql_connect($host,$user,$pass);//заносим сюда значения констант с файла конфиг if(!$this->db){//Если не удается инициализировать подключение к базе данных exit('Not connection is database');//то выводим сообщение и выходим с программы } if(!mysql_select_db($db,$this->db)){//Запрос на выбор базы данных mysql где exit('no table'); //??????????????????????????????????????? } mysql_query("SET NAMES cp1251");//Если подкоючились к базе данных то осуществляем запрос на установку кодировки return $this->db;//возвращаем }// public function get_all_db(){//Фу возвращающая 10 строк (статей) с таблицы базы данных //Создаем sql запрос Выбрать значение UNIV_ID,UNIV_NAME,RATING,CITY из таблицы UNIVERSITY $sql="SELECT UNIV_ID,UNIV_NAME,RATING,CITY FROM UNIVERSITY LIMIT 10"; //и установить лимит в 10 строк $res=mysql_query($sql); //Отправляем запрос строки при помощи встроенной функции mysql_query if(!$res){//Если переменная $res не вернет ничего то вернем значение FALSE return FALSE;// } //функция mysql_num_rows возвращает количество рядов результата запроса у нас их будет 10 for ($i=0;$i<mysql_num_rows($res);$i++){//Осуществляем цикл for пока $i меньше 10 $row[]=mysql_fetch_array($res,MYSQL_ASSOC); // то в массив $row записываем ассоциативный массив результат запроса }// return $row;//возвращаем массив $row }// //Функция вывода одной строки информации базы данных для главной страницы public function get_one_db($id){//аргумент $id указывает какую строку с базы данных выводить $sql = "SELECT UNIV_ID,UNIV_NAME,RATING,CITY FROM UNIVERSITY WHERE UNIV_ID='$id'";//Строка запроса сохраняем в переменную //Выбрать UNIV_ID,UNIV_NAME,RATING,CITY из таблицы UNIVERSITY где UNIV_ID равен значению аргумента который мы вводим в начале функции $res = mysql_query($sql);////отправляем запрос в базу данных и результат сохраняем в переменной $res if(!$res){//Если пере $res не вернет ничего то вернем значение FALSE return FALSE;// } ////А если вернет значение переменная $res то при помощи функции mysql_fetch_array результат записываем $row = mysql_fetch_array($res,MYSQL_ASSOC);//в ассоциативный массив и присваиваем значние переменной $row return $row;//Возвращаем ассоциативный массив находяшийся в переменной $row функции }// } ?> код отрабатывает в mvc нормально Не могу понять один момент: Почему конструктор срабатывает Код (Text): public function __construct($host,$user,$password,$db){//Создаем аргументы в функции подключения к базе данных $this->db = mysql_connect($host,$user,$pass);//заносим сюда значения констант с файла конфиг if(!$this->db){//Если не удается инициализировать подключение к базе данных exit('Not connection is database');//то выводим сообщение и выходим с программы } if(!mysql_select_db($db,$this->db)){//Запрос на выбор базы данных mysql где exit('no table'); //??????????????????????????????????????? } mysql_query("SET NAMES cp1251");//Если подкоючились к базе данных то осуществляем запрос на установку кодировки return $this->db;//возвращаем }// Если там отсутствует функция mysql_select_db($db,$this->db) mysql_select_db($db//название базы,$this->db//запрос на соединение коннект) Она там есть но в виде Код (Text): if(!mysql_select_db($db,$this->db)){//Запрос на выбор базы данных mysql где exit('no table'); //??????????????????????????????????????? } отработки ошибки А как она базу находит??
mysqli по моему да надо использовать? материал вроде с видеоурока 2016 года. Ту книгу по PHP 2010 года оставил думал свежий видеоурок, и тут подстава такая опять
А почему не должна находить? В if валидный код который отрабатывает и заносит в свойство $this->db имя базы, но знак "!" дает фолс и условие в скобках exit('no table') не срабатывает и код продолжается.
в Общем курс по фреймворку Yii2 от Кудлая Русакова, там в качестве бонуса три программы(подкурса): 1. Основы PHP 2. ООП в PHP как раз этот пример что я сюда выложил это последний урок по курсу основы ООП, называется разработка собственного mvc 3. Основы Mysql --- Добавлено --- PHP start это курс или книга? и где ее найти --- Добавлено --- получается если FALSE условие не выполнилось он сам подключился ? как то так? --- Добавлено --- там все на английском на ГитХабе тяжеловато понять примеры без объяснений
Андрей Кудлай | Фреймворк YII2 с Нуля до Профи вот это курс с торрента скачан,там в бонусах были основы ооп и этот пример. PHP Start это практический курс Зинченко??
Как по мне что Русаков что Кудлай, два сапога пара, я бы рекомендовал вот этого парня, он дает конечно лишь базу, все остальное платные курсы, но при желании можно и их найти ( поднять паруса и пиратский флаг )