Работа с 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.
|