Пример 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>&nbsp;</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;'>Первый запуск скрипта &ndash; создана база '$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>