СУБД/лекция 3 семестр 2 — различия между версиями
Vidokq (обсуждение | вклад) (→Подкючение к БД) |
Vidokq (обсуждение | вклад) (→Выполение запроса) |
||
Строка 25: | Строка 25: | ||
* '''mysql_select_db''' выбор базы данных для работы (аналог '''use имя_базы''') | * '''mysql_select_db''' выбор базы данных для работы (аналог '''use имя_базы''') | ||
* mysql_close($link); закрываем соединение (обязательно делать потому как число соединение обычно граничено для серверов) | * mysql_close($link); закрываем соединение (обязательно делать потому как число соединение обычно граничено для серверов) | ||
− | == Выполение | + | == Выполение запросов == |
+ | '''1) Вставка записей в базу данных''' | ||
+ | |||
+ | <source lang="php"> | ||
+ | $query="INSERT INTO `таблицу` (`указываем поле`,`указываем поле`) VALUES ('любое значение','любое значение')"; | ||
+ | $result=mysql_query($query); | ||
+ | if($result==true) | ||
+ | { | ||
+ | echo "Успешно!"; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | echo "Ошибка!<br>".mysql_error(); | ||
+ | }</source> | ||
+ | |||
+ | |||
+ | То есть вставка производится функцией INSERT. Если все прошло успешно, то mysql вернет результат true, или иначе — false. | ||
+ | |||
+ | Полей можно указывать хоть сколько, главное чтобы все они существовали в БД. То есть, к примеру существует таблица в которой есть поля «name» , «surname» и «city». | ||
+ | |||
+ | <source lang="php"> | ||
+ | $query="INSERT INTO `users` (`name`,`surname`,`city`) VALUES ('Ruslan','Huzin','Kokshetau')"; | ||
+ | $result=mysql_query($query); | ||
+ | if($result==true) | ||
+ | { | ||
+ | echo "Успешно!"; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | echo "Ошибка!<br>".mysql_error(); | ||
+ | }</source> | ||
+ | |||
+ | '''2) Удаление записей из базы данных''' | ||
+ | |||
+ | <source lang="php"> | ||
+ | $query="DELETE FROM `users` WHERE `name`='Ruslan' "; | ||
+ | $result=mysql_query($query); | ||
+ | if($result==true) | ||
+ | { | ||
+ | echo "Успешно!"; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | echo "Ошибка!<br>".mysql_error(); | ||
+ | }</source> | ||
+ | |||
+ | |||
+ | '''3) Изменение значений в базе данных''' | ||
+ | |||
+ | Также мы можем вносить изменения в уже существующие записи в таблице. К примеру нам надо заменить значение столбца name в строке, где столбец surname имеет значение Huzin. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $query="UPDATE `users` SET `name`='myname' WHERE `surname`='Huzin' "; | ||
+ | $result=mysql_query($query); | ||
+ | if($result==true) | ||
+ | { | ||
+ | echo "Успешно!"; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | echo "Ошибка!<br>".mysql_error(); | ||
+ | }</source> | ||
+ | |||
+ | |||
+ | '''4) Получение значений из базы данных''' | ||
+ | |||
+ | Теперь самое интересное) Раз мы записали что-то, то ведь должны и получить обратно?))) | ||
+ | |||
+ | К примеру нам нужно достать из таблицы users всю строку где столбец name равен Ruslan. | ||
+ | |||
+ | Для этого нам потребуется чуть другой код, нежели в первых примерах. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $query="SELECT * FROM WHERE `name`='Ruslan' "; | ||
+ | $result=mysql_query($query); | ||
+ | if($result==true) | ||
+ | { | ||
+ | echo "Успешно!"; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | echo "Ошибка!<br>".mysql_error(); | ||
+ | } | ||
+ | $data=mysql_fetch_array($result); | ||
+ | |||
+ | /* | ||
+ | Теперь в переменной | ||
+ | хранятся данные из таблицы | ||
+ | */ | ||
+ | </source> | ||
+ | |||
+ | Тут нам потребовалась еще одна функция, для записи выбранных данных в переменную (массив) на php. | ||
+ | |||
+ | Для того что обратиться к выбранной строке, мы пишем так: | ||
+ | |||
+ | $data['имя столбца'] | ||
+ | |||
+ | то есть, чтобы достать фамилию из выбранной строки (где имя было Ruslan), мы на вывод должны написать: | ||
+ | |||
+ | echo $data['surname']; | ||
+ | |||
+ | А при выборке из таблицы, писали SELECT *, эта звездочка означает что нужно выбрать все столбцы из строки. | ||
+ | |||
+ | Если нам надо, к примеру, выбрать только surname, пишем SELECT `surname`. | ||
+ | |||
+ | А для выборки сразу нескольких строк из таблицы, потребуется еще и цикл для их вывода. Это в том случае, если к примеру, строк со столбцом Ruslan будет несколько. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $query="SELECT * FROM WHERE `name`='Ruslan' "; | ||
+ | $result=mysql_query($query); | ||
+ | |||
+ | while($data=mysql_fetch_array($result)) | ||
+ | { | ||
+ | echo $data['name']."<br>".$data['surname']."<hr>"; | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | Теперь на экран выведутся все строки у которых столбец name равен значению Ruslan. | ||
== Классы построения графиков == | == Классы построения графиков == | ||
* Скачиваем класс | * Скачиваем класс | ||
[http://sourceforge.net/projects/pchart/files/pchart/pChart%201.27%20-%20beta/pChart.1.27d.rar/download pChart] | [http://sourceforge.net/projects/pchart/files/pchart/pChart%201.27%20-%20beta/pChart.1.27d.rar/download pChart] |
Версия 23:16, 29 апреля 2014
Содержание |
Литература
Подкючение к БД
<?php $db = "alldb"; $user = "student"; $pass = "studentpass"; $server = "93.125.42.8"; $link = mysql_connect($server, $user, $pass); // Функция подключения к базе данных в переменной link храниться результат подключения if(!$link) die("cann't connect Mysql"); // Проверка успешности подключения else echo "Connect to ".$db." successfull"; mysql_select_db($db) or die("cann't connect Mysql".mysql_error()); //.......... mysql_close($link); ?>
- Задете имя базы
- Имя пользователя
- Пароль
- IP Сервера
- mysql_connect подключение к базе и создание сессии подключения
- Обязательно проверям статус выполения
- mysql_select_db выбор базы данных для работы (аналог use имя_базы)
- mysql_close($link); закрываем соединение (обязательно делать потому как число соединение обычно граничено для серверов)
Выполение запросов
1) Вставка записей в базу данных
$query="INSERT INTO `таблицу` (`указываем поле`,`указываем поле`) VALUES ('любое значение','любое значение')"; $result=mysql_query($query); if($result==true) { echo "Успешно!"; } else { echo "Ошибка!<br>".mysql_error(); }
То есть вставка производится функцией INSERT. Если все прошло успешно, то mysql вернет результат true, или иначе — false.
Полей можно указывать хоть сколько, главное чтобы все они существовали в БД. То есть, к примеру существует таблица в которой есть поля «name» , «surname» и «city».
$query="INSERT INTO `users` (`name`,`surname`,`city`) VALUES ('Ruslan','Huzin','Kokshetau')"; $result=mysql_query($query); if($result==true) { echo "Успешно!"; } else { echo "Ошибка!<br>".mysql_error(); }
2) Удаление записей из базы данных
$query="DELETE FROM `users` WHERE `name`='Ruslan' "; $result=mysql_query($query); if($result==true) { echo "Успешно!"; } else { echo "Ошибка!<br>".mysql_error(); }
3) Изменение значений в базе данных
Также мы можем вносить изменения в уже существующие записи в таблице. К примеру нам надо заменить значение столбца name в строке, где столбец surname имеет значение Huzin.
$query="UPDATE `users` SET `name`='myname' WHERE `surname`='Huzin' "; $result=mysql_query($query); if($result==true) { echo "Успешно!"; } else { echo "Ошибка!<br>".mysql_error(); }
4) Получение значений из базы данных
Теперь самое интересное) Раз мы записали что-то, то ведь должны и получить обратно?)))
К примеру нам нужно достать из таблицы users всю строку где столбец name равен Ruslan.
Для этого нам потребуется чуть другой код, нежели в первых примерах.
$query="SELECT * FROM WHERE `name`='Ruslan' "; $result=mysql_query($query); if($result==true) { echo "Успешно!"; } else { echo "Ошибка!<br>".mysql_error(); } $data=mysql_fetch_array($result); /* Теперь в переменной хранятся данные из таблицы */
Тут нам потребовалась еще одна функция, для записи выбранных данных в переменную (массив) на php.
Для того что обратиться к выбранной строке, мы пишем так:
$data['имя столбца']
то есть, чтобы достать фамилию из выбранной строки (где имя было Ruslan), мы на вывод должны написать:
echo $data['surname'];
А при выборке из таблицы, писали SELECT *, эта звездочка означает что нужно выбрать все столбцы из строки.
Если нам надо, к примеру, выбрать только surname, пишем SELECT `surname`.
А для выборки сразу нескольких строк из таблицы, потребуется еще и цикл для их вывода. Это в том случае, если к примеру, строк со столбцом Ruslan будет несколько.
$query="SELECT * FROM WHERE `name`='Ruslan' "; $result=mysql_query($query); while($data=mysql_fetch_array($result)) { echo $data['name']."<br>".$data['surname']."<hr>"; }
Теперь на экран выведутся все строки у которых столбец name равен значению Ruslan.
Классы построения графиков
- Скачиваем класс