Работа с MySQL (съхранение на данните в база данни) Печат
Написано от sevda   
Петък, 19 Април 2013 07:01

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

За начало създаваме база данни и таблица. Влизаме в MySQL, и изпълняваме командата:

>CREATE DATABASE products;

>CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), choise VARCHAR(;

за връзка с 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 - ред, съдържащ запитване

link_identifier - виж предишната функция.

Функцията връща ID резултата или 0, ако е произтекла грешка.

int mysql_close(int link_identifier);

Функцията закрива връзката с MySQL.

Параметри

link_identifier - виж горе.

Функцията връща стойност true или false

Сега нашият файл email.php3 ще има следният вид:


/* Този скрипт получава променливи от request.html */

/* Някои променливи */

$hostname = "localhost";
$username = "myusername";
$password = "mypassword";
$dbName = "products";

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

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

/* създаване на връзка */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не мога да създам връзка ");

@mysql_select_db("$dbName") or die("Не мога да избера базата данни ");

PRINT "

";
PRINT "Здравей, $name.";
PRINT "

";
PRINT "Благодаря за вашият интерес.

";
PRINT "Интересувате се от $preference. Информацията за тях ще Ви изпратим на email: $email.";
PRINT "
";

/* Изпращаме email */
mail($email, "Запитване за информация", "$namen
Благодаря за вашият интерес.!
Интересувате се от $preference
Разпространяваме ги безплатно. Обърнете се към най близкият филиал на нашата фирма и ще получите предвиденото количество.
");

mail("administration@me.com",
"Има запитване за информация.",
"$name се интересува от $preference
email-адрес: $email. ");

/* Въвеждане на информацията за клиента в таблица */
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";

$result = MYSQL_QUERY($query);

PRINT "Информацията за вас е въведена в базата данни.";

/* Затваряне на връзката */
MYSQL_CLOSE();
?>

Ето колко леко се работи с база данни в PHP. Сега писменото уведомяване, информацията за клиента и неговите интереси ще бъдат предадени в MySQL таблица.

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

Съхранявайки данните, в един момент ще си зададем въпроса " Кой от нашите клиенти се интересуваше от "Ябълки" ?"

Написваме скрипта apple.php3

$hostname = "localhost";
$username = "myusername";
$password = "mypassword";
$dbName = "products";

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

/* създава връзка */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не мога да създам връзка ");

@mysql_select_db("$dbName") or die("Не мога да избера база данни ");

/* Избиране на всички почитатели на ябълките */
$query = "SELECT * FROM $userstable WHERE choice = 'Ябълки'";

$result = MYSQL_QUERY($query);

/* Колко много има от тях */
$number = MYSQL_NUMROWS($result);

/* Напечатване в красив вид*/
$i = 0;

IF ($number == 0) {
PRINT "

Няма любители на ябълки

";
} ELSEIF ($number > 0) {
PRINT "

Брой на любителите на ябълки: $number

";
WHILE ($i < $number){
$name = mysql_result($result,$i,"name");
$email = mysql_result($result,$i,"email");
PRINT "Клиент $name обича ябълки.
";
PRINT "Неговият Email: $email.";
PRINT "

";
$i++;
}
PRINT "

";
}
?>


Тук сме използвали две нови функции:

int mysql_num_rows(int result);

Функцията връща броя редове в резултат от запитването.

Параметъра result - съдържа ID резултата от запитването.

int mysql_result(int result, int i, column);

Функцията връща стойноста на полето в колона column и в ред i.