PHP, обзорная статья о котором есть на нашем сер<?privet.php» —>
Ни коем случае не пытайтесь назначать файлы одного расширения сразу и на интерпретацию PHP, и SSI! Это приведет к непредсказуемым последствиям. Как вы уже догадались, подключение к MySQL производится двумя командами: сначала соединяемся с сервером MySQL, потом выбираем используемую базу данных, вот так:
MYSQL_CONNECT($hostname,$username,$password) OR DIE(«Не могу создать соединение «);
@mysql_select_db(«$dbName») or die(«Не могу выбрать базу данных «);
Переменные, отвечающие за пароль, логин и прочее, лучше задавать отдельно. Собака перед командой означает то, что сообщения об ошибках этой команды не выводятся. Не забудьте потом закрыть соединение с MySQL!
mysql_close();
Вот так. Теперь самое интересное. Как выясняется, вы можете довольно просто манипулировать содержимым базы данных с помощью команды mysql_query. Например, мы создаем простую формочку с полями name, email и password:
<html>
<body>
<form action=database.php method=post>
Your name:<br>
<input type=text name=name><br>
Your e-mail:<br>
<input type=text name=email><br>
Your password:<br>
<input type=password name=password><br>
<input type=checkbox name=del> Delete<br>
Drop?
<input type=text name=drop><br>
<input type=submit>
</form>
</body>
</html>
После этого мы должны создать файл database.php, обрабатывающий эти данные. Нетрудно догадаться, что в нем мы будем иметь готовые переменные name, email, password, drop, del, которые и предстоит обработать. Обработка будет заключаться в том, что если галочка «Del» не установлена, то значение в БД добавляется, иначе — удаляются все такие значения (должны полностью соответствовать все три основных поля).
<?
$username=»mixailo»;
$passwd=»passwd»;
$dbname=»clients»;
$hostname=»localhost»;
MYSQL_CONNECT ($hostname, $username, $passwd) or
die («Cannot connect to database…»);
@mysql_query(«create database clients»);
@mysql_select_db($dbname) or die («cannot select database»);
Это обычный выбор базы данных, интереса не представляет. Как известно, при попытке создать в БД таблицу, которая уже существует, сервер выдает ошибку. Поэтому можно довольно легко проверить таблицу на существование, и, если ее нет, создать ее:
mysql_query(«create table clients (name varchar(15), email varchar(35),
password varchar(15))») or ($err = MYSQL_QUERY(«select *
from clients») or die («can\’t create table»));
Теперь проверяем, отмечена ли галочка del
if (empty($del))
И если она пуста, то добавляем значения в таблицу
{
mysql_query(«insert into clients values (\’$name\’, \’$email\’,
\’$password\’)») or die («Cannot insert values»);
}
Иначе пытаемся удалить значения, точно соответствующие шаблону:
elseif (!empty($del))
{
mysql_query(«delete from clients where name=\’$name\’ and
email=\’$email\’ and password=\’$password\’») or die («Can\’t delete»);
}
Проверяем, написал ли пользователь в поле drop слово «drop», если да — удаляем из БД всю таблицу:
if ($drop==»drop»)
{
MYSQL_QUERY(«DROP TABLE clients») or
die («cannot drop»);
}
В принципе, теперь осталось только закрыть соединение и написать закрывающий тег ?>, но мы ведь хотим посмотреть, что у нас получилось? Делаем так:
$vopr=mysql_query(«select * from clients») or
die («No way. Can\’t select.»);
while ($line = mysql_fetch_array ($vopr))
{
print «<hr>»;
extract($line);
print»$name,$email,$password»;
}
print «<HR>»;
mysql_close();
?>
Вот и все, простая программа манипуляции базой данных готова. Замечу, что восклицательный знак перед функцией означает логическое НЕ, т.е. !empty($line) означает «НЕ (пустая ли переменная $line?)», и будет иметь значение ИСТИНА (TRUE), если $line непустая. Функция extract(аргумент) выделяет из выдачи MySQL, которую мы не можем просто так распечатать, переменные, соответствующие названиям полей в таблице; в нашем случае это $name, $email, $password — так и называются поля в таблице clients.
Источник: npksv.ru