1. Главная страница » Уроки PHP+MySQL

Работа с MySQL (сохранение данных в базе данных)

Автор: | 28.03.2013

Для начала создаем базу данных и таблицу. Входим в MySQL, и выполняем команды:

CREATE DATABASE products; 
CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), 
choise VARCHAR(8)); 

Для общения с MySQL из PHP понадобятся следующие функции.

int mysql_connect(string hostname, string username, string password);

Создать соединение с MySQL.

Параметры:

  • Hostname – имя хоста, на котором находится база данных.
  • Username – имя пользователя.
  • Password – пароль пользователя.

Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.

int mysql_select_db(string database_name, int link_identifier);

Выбрать базу данных для работы.

Параметры:

  • Database_name – имя базы данных.

link_identifier – ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect)

Функция возвращает значение true или false

int mysql_query(string query, int link_identifier);

Функция выполняет запрос к базе данных.

Параметры:

  • Query – строка, содержащая запрос

Теперь наш файл email.php будет иметь следующий вид:

<?php 
/* Этот скрипт получает переменные из request.html */ 

/* Переменные для соединения с базой данных */ 
$hostname = "localhost"; 
$username = "myusername"; 
$password = "mypassword"; 
$dbName = "products"; 

/* Таблица MySQL, в которой хранятся данные */ 
$userstable = "clients"; 

/* email администратора */ 
$adminaddress = "administration@yahoo.com"; 

/* создать соединение */ 
mysql_connect($hostname,$username,$password)
 OR DIE("Не могу создать соединение "); 
/* выбрать базу данных. Если произойдет ошибка - вывести ее */ 
mysql_select_db($dbName) or die(mysql_error());  

echo "<CENTER>"; 
echo "Привет, ".$_POST['name']; 
echo "<BR><BR>"; 
echo "Спасибо за ваш интерес.<BR><BR>"; 
echo "Вас интересуют ".$_POST['preference'].
". Информацию о них мы пошлем вам на email: ".$_POST['email']; 
echo "</CENTER>"; 

/* Отправляем email-ы */ 
$subj = "Запрос на информацию"; 
$text = "Уважаемый ".$_POST['name']."! 
Спасибо за ваш интерес! 
Вас интересуют ".$_POST['preference']." 
Мы их распространяем бесплатно. 
Обратитесь в ближайший филиал нашей 
компании и получите ящик этого продукта."; 
mail($_POST['email'], $subj, $text); 

$subj="Поступил запрос на информацию"; 
$text = $_POST['name']." интересовали ".$_POST['preference'].
" email-адрес: ".$_POST['email'];  
mail($adminaddress, $subj, $text); 

/* запрос для вставки информации о клиенте в таблицу */ 
$query = "INSERT INTO $userstable VALUES
('$name','$email','$preference')"; 
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */ 
mysql_query($query) or die(mysql_error()); 
echo "Информация о вас занесена в базу данных."; 

/* Закрыть соединение */ 
mysql_close(); 
?>  

Вот так легко можно работать с базой данных в PHP. Теперь кроме письменных уведомлений, информация о клиенте и его интересах будет заносится в таблицу MySQL.

Работа с MySQL (получение данных из базы данных).

После занесения данных, нас иногда будет интересовать вопрос так кого же из наших клиентов интересует товар «Яблоки»?.

Напишем скрипт apple.php

<?php 
// Скрипт показывает клиентов, которые 
// яблоки любят больше чем апельсины  

/* Переменные для соединения с базой данных */ 
$hostname = "localhost"; 
$username = "myusername"; 
$password = "mypassword"; 
$dbName = "products"; 

/* Таблица MySQL, в которой хранятся данные */ 
$userstable = "clients"; 

/* создать соединение */ 
mysql_connect($hostname,$username,$password)
 OR DIE("Не могу создать соединение "); 
/* выбрать базу данных. Если произойдет ошибка - вывести ее */ 
mysql_select_db($dbName) or die(mysql_error());  

// составить запрос, который выберет 
//всех клиентов - яблочников 
$query = "SELECT * FROM $userstable WHERE choise = 'Яблоки'"; 
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */ 
$res = mysql_query($query) or die(mysql_error()); 

/* Как много нашлось таких */ 
$number = mysql_num_rows($res); 

/* Напечатать всех в красивом виде*/ 
if ($number == 0) { 
 echo "<CENTER><P>Любителей яблок нет</CENTER>"; 
} else { 
echo "<CENTER><P>Количество любителей яблок: $number<BR><BR>";
  /* Получать по одной строке из таблицы в массив $row,
  пока строки не кончатся */  
  while ($row=mysql_fetch_array($res)) { 
    echo "Клиент ".$row['name']." любит Яблоки.<BR>"; 
    echo "Его Email: ".$row['email']; 
    echo "<BR><BR>"; 
  } 
  echo "</CENTER>"; 
} 
?> 

Вот и все, коммерческий продукт практически готов.

1 2
Читайте также:  Примеры использования php

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *