Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Уроки PHP - урок 3.1 - Работа с БД MySQL. Создание таблиц.

08/12/2019, by Ivan

В прошлом уроке мы создавали соединения с базой данных. В этом уроке мы будем создавать таблицы для нашего будущего сайта. Для начала давайте добавим имя нужной нам БД в класс simpleCMS:

class simpleCMS {  // класс упрвленения

  public $host = 'localhost'; //переменные для работы с БД
  public $username = 'root';
  public $password = '';
  public $db = 'testDB';

Теперь нужно создать эту БД на нашем MySQL сервере. Если вы тоже используйте денвер, то для этого есть phpMyAdmin, он входит в состав денвера. Зайдите по этой ссылки в phpMyAdmin и создайте новую БД:

PhpMyAdmin

Теперь когда мы прописали настройки и создали новую БД. Давайте подкорректируем соединение с MySQL сервером через PHP. Давайте изменим метод соединения с БД:

  public function connectDB() {
	$link = mysql_connect($this->host, $this->username, $this->password); // подключаемся к серверу MySQL
	if (!$link) {
		die('Ошибка соединения: ' . mysql_error());
	}    
	mysql_select_db($this->db) or die("Не могу найти БД. " . mysql_error()); //подсоединяем БД
	return $link;
  }

Если все хорошо, то никаких сообщений не должно выводиться. Теперь создадим таблицу. Для этого добавим метод buildDB(), который будем вызывать прямо в классе в методе connectDB().

  public function connectDB() {
	$link = mysql_connect($this->host, $this->username, $this->password); // подключаемся к серверу MySQL
	if (!$link) {
		die('Ошибка соединения: ' . mysql_error());
	}    
	mysql_select_db($this->db) or die("Не могу найти БД. " . mysql_error()); //подсоединяем БД
        $this->buildDB(); // так мы вызываем метод внутри другого метода одного класса
	return $link;
  }
  
  public function buildDB(){
  
  }

Теперь мы при каждом соединение в методе buildDB() можем проверять все ли у нас таблицы на месте. Для этого мы будем посылать запрос к БД:

  public function buildDB(){
    $sql = 'CREATE TABLE IF NOT EXISTS messages ( 
			  title		VARCHAR(150),
			  bodytext	TEXT,
			  created		VARCHAR(100)
			)';
			
    return mysql_query($sql);    
  }

Давайте теперь разберем как это работает.

Сначала мы записываем SQL-запрос в строковую переменную и уже потом эту строковую переменную вставляем в функцию mysql_query, которая отправляет запрос к БД.

Наш sql-запрос начинает с оператора CREATE TABLE - создание таблицы. Дальше мы проверяем если ли уже эта таблица или нет, а именно таблица messages.

В скобках после названия таблицы идут поля этой таблицы, которые будут созданы вместе с таблицей, у нас это поля title, bodytext, created. После названия каждого поля идет описания типа данных в этом поле. VARCHAR(150) - это строка максимум в 150 символов, TEXT - это текстовое поле позволяющее сохранять целые статьи.

Теперь если вы сохраните файл simpleCMS.php и запустите index.php, то вы создадите тем самым таблицу messages.

Использовать эту таблицу мы будем в следующем уроке. Если у вас возникли вопросы или ошибки, оставляйти их в комментариях.