Уроки PHP - урок 3.1 - Работа с БД MySQL. Создание таблиц.
В прошлом уроке мы создавали соединения с базой данных. В этом уроке мы будем создавать таблицы для нашего будущего сайта. Для начала давайте добавим имя нужной нам БД в класс simpleCMS:
class simpleCMS { // класс упрвленения public $host = 'localhost'; //переменные для работы с БД public $username = 'root'; public $password = ''; public $db = 'testDB';
Теперь нужно создать эту БД на нашем MySQL сервере. Если вы тоже используйте денвер, то для этого есть 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.
Использовать эту таблицу мы будем в следующем уроке. Если у вас возникли вопросы или ошибки, оставляйти их в комментариях.