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

admin друпал drupal

В прошлом уроке мы создавали соединения с базой данных. В этом уроке мы будем создавать таблицы для нашего будущего сайта. Для начала давайте добавим имя нужной нам БД в класс 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.

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

 

ВложениеРазмер
Package icon php_mysql_urok_3-1_.zip3.73 КБ

Комментарии

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Здравствуйте! Все делаю по

Здравствуйте! Все делаю по вашему уроку, но таплицу в testdb не создает, после финального запуска index.php часть кода php браузер отправляет в комментарии. Что может быть?

Скачайте прикрепленный

Скачайте прикрепленный пример, я попробовал, он работает. Возможно дело в название таблицы, у меня она в уроке с прописными буквами, попробуйте исправить на строчные testdb в mysql и в коде.