Пример 1
Запись, чтение и удаление таблицы
admin.php
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<title>Запись, чтение и удаление таблицы</title>
</head>
<body>
<h2>Запись, чтение и удаление таблицы</h2>
<h3 style='margin: 50px 0 20px 0;'>Выберите действие:</h3>
<ol>
<li class=list_item><a href=admin.php?query=write>Записать таблицу (CREATE, INSERT)</a></li>
<li class=list_item><a href=admin.php?query=read>Прочитать таблицу (SELECT)</a></li>
<li class=list_item><a href=admin.php?query=delete>Удалить таблицу (DROP)</a></li>
</ol>
<p> </p>
<?
############################################################################
#############
# #
# Блок 1 # --> Подключение к базе
# #
#############
# Определяем основные настройки по работе с базой
# адрес базы - HostName
# имя пользователя - UserName
# пароль - Password
# имя базы - DBName
$HostName = "localhost";
$UserName = "root";
$Password = "";
$DBName = "Example";
# Подключаемся к серверу MySQL. Если подключение прошло неуспешно - выводим соответствующее сообщение
if(@!mysql_connect($HostName, $UserName, $Password)) {
echo "Не могу соединиться с сервером MySQL!<br>";
echo mysql_error();
exit;
}
# Проверяем - существует ли нужная нам база ('Example'). Если не существует -- создаем
if(!mysql_select_db($DBName)) {
if(mysql_query("CREATE DATABASE $DBName")) {
echo "<p><b style='color: #00761a;'>Первый запуск скрипта – создана база '$DBName'</b>";
# Выбираем только что созданную базу для работы с ней
mysql_select_db($DBName);
} else {
echo 'Ошибка при создании базы данных: ' . mysql_error(); exit;
}
}
# Указываем кодировку для кириллического текста
mysql_query("SET NAMES 'cp1251'");
############################################################################
#############
# #
# Блок 2 #
# #
#############
# Считываем значение параметра 'query' и заносим его в $query
# Переменная $query может принимать значения:
# - write
# - read
# - delete
#
$query = @$_GET['query'];
switch($query) {
case 'write':
write_table();
break;
case 'read':
read_table();
break;
case 'delete':
delete_table();
break;
}
############################################################################
#############
# #
# Блок 3 # --> Создание новой таблицы и запись данных в таблицу
# #
#############
function write_table(){
# Проверяем - существует ли таблица с именем 'murphy' в базе данных
if(table_exists('murphy')) {
echo "<b>Таблица 'murphy' уже существует</b>";
} else {
# Создаем новую таблицу с нужными полями
mysql_query("CREATE TABLE murphy(counter int auto_increment primary key,
law text,
formula text)");
# Считываем информацию из файла "murphy.txt" в массив $data
$data = file("murphy.txt");
# Определяем количество элементов в массиве $data
$total = count($data);
# В цикле перебераем все элементы массива $data и заносим их в базу
for($i = 0; $i < $total; $i++) {
# удаление переносов строк в конце каждой строки
$data[$i] = trim($data[$i]);
# разбиваем элемент массива $data с номером $i на подстроки по символу разделителю '='
# и заносим эти подстроки в переменные $law и $formula
list($law, $formula) = explode('=', $data[$i]);
# записываем эти подстроки в базу в соответствующие поля
mysql_query("INSERT INTO murphy(law, formula) VALUES('$law', '$formula')");
# генерируем уникальный идентификатор $counter
$counter = mysql_insert_id();
}
echo "<p><b>Создана таблица 'murphy' и произведена запись</b>";
}
}
############################################################################
#############
# #
# Блок 4 # --> Вывод на экран всех записей из таблицы murphy
# #
#############
function read_table(){
# Проверяем - существует ли таблица с именем 'murphy' в базе данных
if(!table_exists('murphy')) {
echo "<b>Таблица 'murphy' не существует</b>";
} else {
# считываем всё из таблицы
$r = mysql_query("SELECT * FROM murphy WHERE 1");
echo "<pre>";
for($i = 0; $i < mysql_num_rows($r); $i++) {
# считывание очередной строки из результатов поиска $r
$f = mysql_fetch_array($r);
echo "$f[counter]: <b>$f[law]</b> - $f[formula]\n\n";
}
echo "</pre>";
}
}
############################################################################
#############
# #
# Блок 5 # --> Удаление таблицы 'murphy'
# #
#############
function delete_table(){
# Проверяем - существует ли таблица с именем 'murphy' в базе данных
if(!table_exists('murphy')) {
echo "<b>Таблица 'murphy' не существует</b>";
} else {
# Удаляем таблицу
@mysql_query("DROP TABLE murphy");
echo "<b>Таблица удалена</b>";
}
}
############################################################################
#############
# #
# Блок 6 # --> Проверка на существовании таблицы в базе данных
# #
#############
function table_exists($table){
# Проверяем таблицу на существование
# Проверку осуществляем с помощью 'пустого' запроса к базе, после
# чего анализируем результат
$flag = (mysql_query("SELECT 1 FROM $table WHERE 0"))? true : false;
return $flag;
}
############################################################################
?>
</body>
</html>