07 ноя 2010
Подключение к БД MySQL
Dmitrius Категория: Web-Мастеру » Уроки
У нас вы можете скачать бесплатно Подключение к БД MySQL

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Подключение к БД MySQL


Чтобы выполнять запросы к базе нам необходимо к ней подключиться и выбрать таблицу . Это достаточно просто и выполняется при помощи 2 стандартных функций

mysql_connect - Открывает соединение с сервером MySQL

<?php
$link = mysql_connect("localhost", "root", "pass")
or die("Не могу подключиться");
print ("Соединение выполнено");
mysql_close($link);
?>


mysql_select_db - Выбирает базу данных MySQL

<?php
$link = mysql_connect("localhost", "root", "pass")
or die("Не могу подключиться" );
// сделать test текущей базой данных
mysql_select_db('test', $link) or die ('Не могу выбрать БД');

?>


Функция mysql_select_db вызывается только после функции mysql_connect. Для того чтобы подключиться и выбрать базу test, мы берем второй фрагмент кода. Этот фрагмент мы будем использовать в каждом скрипте, где необходима работа с mysql.

Запись в БД

Запись в БД

Чтобы создать запись в БД необходимо сформировать запрос, который будет вставлять значения в таблицу. Создаем новый файл в php expert editor‘е, вставляем фрагмент кода приведенный выше, который отвечает за подключение к БД и выбора нужной таблицы.

<?php
$link = mysql_connect("localhost", "root", "pass")
or die("Не могу подключиться" ); // сделать test текущей базой данных
mysql_select_db('test', $link) or die ('Не могу выбрать БД');


Далее необходимо создать запрос. Это достаточно просто сделать, смотрите далее

$query = "INSERT INTO notebook VALUES(NULL,'Asus F5RL','25000')";


Давайте разберем то, что мы присвоили переменной $query. Транскрипция запроса выглядит следующим образом:

$query = «INSERT(ВСТАВИТЬ) INTO (КУДА/В) ‘notebook’ VALUES()ЗНАЧЕНИЯ(Значение 1го поля,значение 2го поля,значение 3го поля)»;

Обратите внимание на первое значение в скобках после VALUES. Мы указали тип переменной NULL, это значит что в это поле ничего записываться не будет. Вот так просто мы разобрали с вами запрос, что делать дальше?!

Далее есть функция, которая отвечает за выполнение запроса, и возвращает результат. Это функция

mysql_query - Посылает запрос MySQL

$result = mysql_query($query);

if($result) {echo "Даные внесены в базу данных";} else {echo "Ошибка, данные не были внесены в БД";}

mysql_close($link);


?>


В нашем случае переменная $result будет содержать результат данного запроса. В конце мы добавим простое условие, которое укажет нам об успешном или неуспешном выполнении запроса.
Итог можете посмотреть при помощи PhpMyAdmin, перейдя в таблицу notebook и нажав вкладку Обзор

Чтение БД

Чтобы извлечь данные из базы, нам необходимо составить другой запрос, но прежде чем это сделать запишите в вашу таблицу несколько разных значений, пусть это будут разные модели ноутбуков с разными ценниками.

Для начала сделаем выборку всех ноутбуков с ценниками и выведем их в браузер. Для этого составляем следующий запрос:

$query = "SELECT * FROM notebook";

Здесь все достаточно просто:

$query = «SELECT(ВЫБРАТЬ) *(ЗВЕЗДОЧКА ОЗНАЧАЕТ ВЫБРАТЬ ВСЁ) FROM(ОТКУДА) notebook»;

Т.е. выбираем все столбцы из таблицы ноутбук. Далее осуществляем запрос:

$result=mysql_query($query);

while($r=mysql_fetch_array($result)) {

echo "$r[model] - $r[price]<br/>";

}
mysql_close($link);
?>


Используем функцию mysql_fetch_array чтобы получить массив значений, ключами которого являются имена столбцов (model и price).

Давайте теперь добавим условие, например вывести ноутбуки, цена которых превышает 30 000. Сделать это можно двумя способами. Можно просто внутри цикла while вставить условие

if($r[price] >=30000) {echo "$r[model] - $r[price]";}

Такое условие будет обрабатывать уже полученные данные из базы, но можно пойти другим путем – создать условие при запросе к базе.

Предыдущий фрагмент кода остается без изменений, меняется лишь только запрос:

$query = "SELECT * FROM notebook WHERE price>30000";

Транскрипция к запросу

$query = «ВЫБРАТЬ ВСЁ ИЗ notebook ГДЕ price>30000&#8243;;

$query = "SELECT * FROM notebook WHERE price>30000";

$result=mysql_query($query);

while($r=mysql_fetch_array($result)) {

echo "$r[model] - $r[price]";

}
mysql_close($link);
?>


Результатом выполнения этого скрипта будет вывод 2х позиций товаров, с ценой более 30 000.

Получение количества рядов можно сделать при использовании функции mysql_num_rows.

mysql_num_rows – Возвращает количество рядов результата запроса

Добавим её в наш скрипт и получим к общему списку товаров их количество:

$query = "SELECT * FROM notebook ";

$result=mysql_query($query);

while($r=mysql_fetch_array($result)) {

echo "$r[model] - $r[price]<br/>";

}

echo "_____________<br/>
Всего позиций:".mysql_num_rows($result);
mysql_close($link);
?>


Изменение данных

Давайте представим, что у нас переоценка товара, и ноутбук Sony подешевел на 2 000. Чтобы нам изменить данные в таблице необходимо составить следующий запрос:

$query = "UPDATE notebook SET price=52000 WHERE id=3";

Сделаю транскрипцию запроса:

$query = «ИЗМЕНИТЬ notebook УСТАНОВИТЬ price=52000 ГДЕ id=3″;

Заметьте, что в этом запросе мы отталкивались от идентификатора товара:

$result = mysql_query($query);

if($result) {echo "Данные изменены";} else {echo "Ошибка, данные не были изменены";}

mysql_close($link);

?>


В итоге ценник у ноутбука Sony станет 52 000.









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
MobiLLeR | 4 января 2011 12:20
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

Не навижу MySQL 20

Stick | 4 января 2011 12:38
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

35 А мне наоборот нравится

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.