Листинг 4. createbase.php Путь: news/admin/createbase.php
<?php
error_reporting(E_ALL);//включаем вывод ошибок
/* 1. Создаем переменные подключения */
$host = "localhost"; /* Имя хоста */
$root = "root"; /* Имя пользователя БД */
$root_password = ""; /* Пароль к БД */
$db = "beseder"; /* название БД */
/* 2. Создаем базу данных */
try {
$dsn = new PDO("mysql:host=$host", $root, $root_password);
$dsn->exec("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8 COLLATE utf8_general_ci;");
echo 'База создана (OK!)<br>' . ' Имя БД: ' . '<b>' . $db . '</b>' . '<br> Пользователь: ' . '<b>' . $root . '</b>';
} catch (PDOException $e) {
echo $e->getMessage();
echo $e->getLine();
exit('Ошибка при создании базы');
}
$dsn = null;//обнуляем подключение
/* 3. Формируем запросы для создания таблиц */
try {
$dsn=newPDO("mysql:host=$host;dbname=$db",$root,root_password);//подключаемся к созданной БД
$dsn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/* Нумерация страниц */
$sql_page = "CREATE TABLE IF NOT EXISTS page (
id INT(11) AUTO_INCREMENT PRIMARY KEY NOT NULL,
sayid int(11),
userid int(11),
pageid text
)";
//пользователи
$sql_users = "CREATE TABLE IF NOT EXISTS users (
id int(11) AUTO_INCREMENT PRIMARY KEY NOT NULL,
login VARCHAR(15) NOT NULL,
password VARCHAR(256) NOT NULL,
youtext text NOT NULL,
email text NOT NULL,
img text NOT NULL,
activation int(11),
date int(11)
)";
//роль автора определение
$sql_role = "CREATE TABLE IF NOT EXISTS role (
id VARCHAR(255) NOT NULL PRIMARY KEY,
description VARCHAR(255)
)
DEFAULT CHARACTER SET utf8 ENGINE=InnoDB";
//роль автора id
$sql_authorrole = "CREATE TABLE IF NOT EXISTS authorrole (
authorid INT NOT NULL,