Помогни ни да направим Uroci.net по - богат! Добави урок
Категории Други уроци Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS и HTML Corel Draw Image Ready PHP
PHP
SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic JavaScript Ajax 3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

PHP - част 10 (Използване на MySQL)

PHP » PHP
fix3d   трудност:    видян: 6739



Вмъкване на запис в таблица

До сега видяхте как можете да се свържете с MySQL и да осъществите достъп до БД. Видяхте как можете да създадете БД и таблица в нея. Информацията, която ще се съхранява в БД, ще се въвежда чрез HTML страница.

В горния код се създава Web страница, която приема името, Email-а и алтернативния Email на потребител. След като потребителя въведе необходимата информация, той трябва да натисне бутона "Изпрати". След като е натиснал бутона, цялата информация се изпраща към сървъра MySQL. Както можете да видите, цялата информация от горния скрипт се изпраща чрез метода POST.
Сега информацията се изпраща към сървъра MySQl, за да вмъкнете в таблицата Maildata под формата на запис. За да вмъкнете информацията трябва да:
Използвате функцията mysql_connect(), за да осъществите връзка с MySQL.
Използвате функцията mysql_select(), за да изберете БД Mailinglist.
Използвате функцията mysql_query(), за да пратите информацията към MySQL. Информацията се предава под формата на заявка insert, която се съхранява в променлива под формата на низ. Тази променлива се предава като параметър на функцията mysql_query(). Сега ще създадем същинския скрипт на PHP, който ще изпълнява задачата по вмъкване на информацията в таблицата. Запишете следния скрипт под името addrow.php

<html>
<body>

<?php

$connection = mysql_connect ("localhost", "root", "")
or die ("Не може да се осъществи връзка със сървара");

$result = mysql_select_db("Mytestbd")
or die ("Не може да се изберете базата данни");

$sqlquery = "INSERT into Maildata VALUES ('$name', '$Email', $Secondaryemail')";

queryresult = mysql_query ($sqlquery)
or die ("Не може да се изпълни заявката");

echo "Информацията за потребителя е записана успешно";

?>

</body>
</html>


Горния код се осъществява връзка с MySQL. След това се осъществява достъп до БД. Тя съдържа таблица с име Maildata. Ще вмъкнем запис в таблицата. След това създаваме заявка и тя се съхранява в променливата $sqlquery. Низът съдържа името, Email и алтернативния Email на потребителя. В заявката insert, може да видите, че всяко парче от информацията се свързва, с определено поле в таблицата. Ако заявката се изпълни успешно, информацията се вмъква в таблицата.


Извличане на информация от таблица

След като сте установили връзка с базата данни и сте записали информация в нея, можете да извлечете тази информация от базата. За да получите информацията от базата, трябва да създадете заявка на езика SQL ( Structured Query Language ). Тези заявки извличат информация от базата и я връщат като записи.

PHP предоставя функцията mysql_query() за извличане на данни от сървара MySQL. Функцията приема като параметър заявка и я предава на сървъра MySQL. Сървърът след това обработва заявката и връща изисканата информация. Синтаксисът на функцията mysql_query() е :

$queryres = mysql_query($query_string);

В горния синтаксис функцията mysql_query() приема като параметър заявката $query_string и съхранява резултата в променливата $queryres. Променливата $query_string трябва да съдържа заявка на езика SQL. Променливата $queryres съдържа стойност Flase само в следните три случея:

[*]Потребителя няма право на достъп до търсената информация
[*]Грешка в синтаксиса на заявката
[*]Търсената информация не може да бъде намерена

За да извлечете информация от таблица на MySQL, трябва да направите следното:

[list=1]
[*]Трябва да се свържете с MySQL чрез функцията mysql_connect().
[*]След това трябва да изберете базата, в която се намира информацията, чрез функцията mysql_select_db().
[*]След това трябва да създадете заявка за извличане на нужната информация от таблицата. Низът се предава като параметър на функцията mysql_query(), която от своя страна я препраща към MySQL.
[*]Накрая заявката се изпълнява от MySQL и се връща стойност, която се съхранява в променлива. Ако стойността е True, значи заявката е била изпълнена успешно. Ако заявката не е изпълнена, трябва да се покаже съобщение за грешка

Следващият код съдържа заявка която извлича всички записи от таблицата Maildata (Ако се чудите защо от тази таблица, върнете се на предишния урок и вижте защо! ).

<html>
<body>

<?php
$connection = mysql_connect ("localhost", "root", "")
or die ("Не може да се осъществи връзка със сървара");

$selectdb = mysql_select_db("Myailinglist")
or die ("Не може да се изберете базата данни");
echo "Базата данни е избрана успешно";
$sqlquery = "SELECT * from MAildata";
$queryresult = mysql_query($sqlquery)
or die ("Заявката не се изпълни");

echo "Всички записи от таблицата са извлечени успешно";
?>

</body>
</html>

Кодът се свързва с MySQL, чрез функцията mysq_connect() и избира базата Mailiglist чрез функцията mysql_select_db(). След като връзката е осъществена се задава SQL заявка и се съхранява в променливата $sqlquery. Този низ се предава на сървъра чрез функцията mysql_query(). Ако заявката е извършена успешно, променливата $queryresult има стойност True.

PHP предоставя няколко функции за извличане на информацията при успешна заявка. Тези функции обработват всеки ред от информацията. Поради тази причина трябва да извикате функцията толкова пъти, колкото реда има в резултата. Например, ако заявката върне 20 реда от данни, ще трябва да извикате функцията 20 пъти. Можете да използвате функцията mysql_affected_rows(), за да разберете колко реда са върнати и да съхраните това число в променлива. След това можете да използвате променливата, за да следите броя на върнатите редове и броя на обработените редове. След това можете да използвате цикъла while, който да се изпълнява, докато всеки запис се обработи и покаже в Web страницата. Следващите две функции се използват за извличане на информацията от резултата.

[*]Функцията mysql_fetch_row() Тази функция връща резултата като номериран масив. Когато използвате номериран масив, информацията се извлича от мрезултата под формата на индексиран масив. Масивът съхранява първото поле от резултата на пъров място, второто поле на второ място и т.н
[*]Функцията mysql_fetch_array() Тази функция съдържа резултата като асоцииран масив. В този случай полетата се индексират на базата на имената си. Ако възникне грешка или не е извлечена стойност, функцията връща стойност NULL.

Сега да разгледаме тези две функции по отделно :


Страници: «1 2 3 »

Коментари (1)

alexiliev на 26.07 2008 в 16:42ч.
Грешка

MySQL отговори:

Can't connect to MySQL server on 'localhost' (10061)

помощ, какво да правя?

Регистрирайте се, за да добавите коментар

реклама

© Всички права запазени. 2006-2008. Created by: Site.bg
Препоръчваме: IT Новини | Кино и игри | Диплома.бг | Paparak.bg | Тунинг Портал | uchenik.com | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | AnimeS-bg.com | Фото Форум | Запознанства | Мрежа от приятели | IT Light | Spodeli.net | Фото-Култ | IDG.BG | Teenproblem.net | Блог - Образование | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Казанлък.Com | News24 | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com