Практическая работа 46-48. Создание базы данных на MySQL и php. Контрольные вопросы Краткие теоретические сведения
Скачать 3.42 Mb.
|
Практическая работа 46-48 Создание базы данных на языке РНР. Организация связей Web-страницы с БД Цель работы: научиться создавать базы данных на РНР План: Теоретические сведения Ход работы Контрольные вопросы Краткие теоретические сведения Большим достоинством РНР является наличие обширного набора встроенных функций для конкретных СУБД, в том числе функций для MySQL. В Пр40 был создан домен itrem. Входим в phpmyadmin Он находится по адресу: http://localhost/openserver/phpmyadmin/index.php (так же он доступен из контекстного меню OpenServer-а, пункт "Дополнительно>PhpMyAdmin") Для авторизации используем такие данные: пользователь/пароль = root / -пустой пароль- пользователь/пароль = mysql / mysql Можно использовать оба варианта, но я бы рекомендовал второй, а именно mysql/mysql. е) Создаем базу itrem ж) Создаем таблицу messages следующим шагом, указываем какие нам нужны поля (часть столбцов, я пропустил там оставляем значения по-умолчанию) нажимаем Сохранить. Если Вам проще будет выполнить SQL код (на вкладке SQL) можете просто его скопировать отсюда: # создаем базу CREATE DATABASE `itrem`; # переключаем на базу USE `itrem`; # создаемтаблицу CREATE TABLE IF NOT EXISTS `messages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `message` varchar(255) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; ж) пишем такой код, в файл C:\Progr\OpenServer\domains\itrem\index.php Обратите внимание на кодировку файла, она должна быть "UTF-8 без BOM", проверить в Notepad++ это можно в верхнем меню, в разделе "Кодировки". header('Content-Type: text/html; charset=utf-8'); $db_host = 'localhost'; $db_username = 'mysql'; $db_password = 'mysql'; $db_name = 'itrem'; $db_charset = 'utf8'; $is_connected = @mysql_connect($db_host, $db_username, $db_password); $is_db_selected = $is_connected ? @mysql_select_db($db_name) : FALSE; $errors = array(); if (!$is_connected) $errors[] = 'Немогусоединитьсясбазойданных'; if (!$is_db_selected) $errors[] = 'Немогунайтибазуданных'; if (!empty($_POST['f_submit']) AND $is_connected AND $is_db_selected) { if (empty($_POST['f_text']) OR !trim($_POST['f_text'])) { $errors[] = 'Не введен текст сообщения!'; } else { if (mb_strlen(trim($_POST['f_text']), 'utf-8')>255) { $errors[] = 'Текст сообщения не может превышать 255 символов!'; } else { $sql = 'INSERT INTO `messages` SET `message`="'.mysql_real_escape_string(trim($_POST['f_text'])).'", `date`=NOW() '; $result = mysql_query($sql) or die('Query error: '.$sql.' ');Header('Location:?'); } } } ?> Текстсообщения if (!empty($errors)) { echo '
foreach ($errors as $err) { echo ' } echo ''; } if ($is_connected AND $is_db_selected) { $sql = 'SELECT * FROM `messages` ORDER BY `id` DESC'; $result = mysql_query($sql) or die('Query error: '.$sql.' ');if ( is_resource($result) ) { echo ' '; while ( $row = mysql_fetch_assoc($result) ) { ?> =date('d.m.Y',strtotime($row['date']))?> - =htmlspecialchars($row['message'])?> } } } ?> Введите данные в свободные поля |