Предимства на PHP:
MySQL е добре адаптиран за много езици за програмиране като например PERL, C, C++, JAVA,PHP и други.. Но от всички тези езици за програмиране MySQL работи най-добре с PHP поради изключителните способности на PHP за уеб-обработка.. Именно поради тази причина ще ползваме PHP в повечето от уроците ни с някои малки изключения.. Това далеч не е единственото предимство на PHP от уроците по PHP вече знаете за функциита include,require,логическите оператори и други..Но за другите качества на PHP относно MySQL връзката с база данни ще говорим по нататък..
Какво трябва да знаете за връзката на база данни в PHP?
<?php
//Тук се съдържа информацията за вашата база данни
$host = "localhost"; //Сървъра на който се намира (localhost
по подразбиране)
$dbpass = "dbpass"; //Паролата
$dbuser = "dbuser"; //Потребителското име
$dbname = "dbname"; //Името на базата данни
- //Свързването с mySQL
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- ?>
Както виждате кода е повече от прост и все пак ще обърнем внимание на полетата в които начинаещите програмисти често изпитват затруднения.
- "localhost" - сървъра на който се намира базата с данни (localhost по подразбиране)
- "dbpass" - Парола на базата данни
- "dbuser" - Потребителско име (Ако е зададено такова)
- "dbname" - Име на базата данни която искате да свържете с PHP
Извадка от кода :
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- ?>
Това са вече познатите ви от уроците ни по php логически оператори тук те задават условие, че 3 елемента трябва да присъстват с ("$host","$dbuser",$dbpass") и с "or die("Грешка");" те задават, че ако условието тоест наличието на тези 3 елемента не бъде спазето, скрипта да бъде прекратен със съобщение грешка.
Добавяне на информация в базата данни
<?php
//Тук се съдържа информацията за вашата база данни
$host = "localhost"; //Сървъра на който се намира (localhost
по подразбиране)
$dbuser = "dbuser"; //Потребителското име
$dbpass = "dbpass"; //Паролата
$dbname = "dbname"; //Името на базата данни
- //Свързването с mySQL
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- //Добавянето
- $query = mysql_query("INSERT INTO таблица (поле1, поле2, поле3) VALUES ('нещо1', 'нещо2', 'нещо3')");
- $num = mysql_affected_rows($query);
- if ($num) {
- //Ако всичко е успешно извежда:
- echo "Успешно въведохте данните.";
- }else {
- //Ако въвеждането не е успешно извежда:
- echo "Грешка! Въвеждането не е успешно.";
- }
- ?>
Обърнете внимание на частта от кода в червено нека поясним какво представлява това..
- (поле1, поле2, поле3) са имената на полетата в които ще въвеждате информация.
- ('нещо1', 'нещо2', 'нещо3') стойностите които въвеждате в съотверните полета.
- mysql_affected_rows() с това проверяваме колко реда са въведени в таблицата
Извличане на информация от базата данни (Извлича всички редове от таблицата).
<?php
//Тук се съдържа информацията за вашата база данни
$host = "localhost"; //Сървъра на който се намира (localhost по подразбиране)
$dbuser = "dbuser"; //Потребителското име
$dbpass = "dbpass"; //Паролата
$dbname = "dbname"; //Името на базата данни
- //Свързването с mySQL
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- //Изпълнение на заявката
- $query = mysql_query("SELECT * FROM таблица");
- //Изписване на информацията
- while($row = mysql_fetch_array($query)){
- echo " $row['поле1'] - $row['поле2'] - $row['поле3'] ";
- }
- ?>
За извличане на един ред от таблицата
-
$query = mysql_query("SELECT * FROM таблица WHERE поле1 = 'нещо1' ");
Промяна на информацията от базата данни
<?php
//Тук се съдържа информацията за вашата база данни
$host = "localhost"; //Сървъра на който се намира (localhost по подразбиране)
$dbuser = "dbuser"; //Потребителското име
$dbpass = "dbpass"; //Паролата
$dbname = "dbname"; //Името на базата данни
- //Свързването с mySQL
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- //Обновяването
- $query = mysql_query("UPDATE таблица SET поле1 = 'нещо1', поле2 = 'нещо2', поле3 = 'нещо3' ");
- $num = mysql_affected_rows($query);
- if ($num) {
- //Ако всичко е успешно извежда
- echo "Промяната премина успешно.";
- } else {
- //Ако е Не успешно извежда
- echo "Промяната не е успешна.";
- }
- ?>
Изтриване на информацията от базата данни
<?php
//Тук се съдържа информацията за вашата база данни
$host = "localhost"; //Сървъра на който се намира (localhost по подразбиране)
$dbuser = "dbuser"; //Потребителското име
$dbpass = "dbpass"; //Паролата
$dbname = "dbname"; //Името на базата данни
- //Свързването с mySQL
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- $query = mysql_query("DELETE FROM `таблица` WHERE поле1 = 'нещо1' ");
- $num = mysql_affected_rows($query);
- if ($num) {
- //Успешно изтриване
- echo "Изтриването премина успешно";
- } else {
- //Не успешно изтриване
- echo "Изтриването е не успешно!";
- }
- ?>
За да не пишете всеки път Конекциите към базата данни можете да ги заредите със следният код в началото на всяка страница:
Пример с файл config.php
<?php
//Тук се съдържа информацията за вашата база данни
$host = "localhost"; //Сървъра на който се намира (localhost по подразбиране)
$dbuser = "dbuser"; //Потребителското име
$dbpass = "dbpass"; //Паролата
$dbname = "dbname"; //Името на базата данни
- //Свързването с mySQL
- mysql_connect("$host", "$dbuser", "$dbpass")
- or die("Грешка");
- mysql_select_db("$dbname")
- or die("Грешка");
- ?>
Ето и как се извиква config.php
-
include("config.php"); // Ако config.php е в същата директория
ако config e в директорията mywebsite/config/config.php
-
include("config/config.php"); // Тук config.php е в директория config
Пример:
<?php
include("config/config.php");
- //Добавянето
- $query = mysql_query("INSERT INTO таблица (поле1, поле2, поле3) VALUES ('нещо1', 'нещо2', 'нещо3')");
- $num = mysql_affected_rows($query);
- if ($num) {
- //Ако всичко е успешно извежда:
- echo "Успешно въведохте данните.";
- }else {
- //Ако въвеждането не е успешно извежда:
- echo "Грешка! Въвеждането не е успешно.";
- }
- ?>
|