СУБД/лекция 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.
Классы построения графиков
- Скачиваем класс