Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornyy_praktikum_chast_2.docx
Скачиваний:
98
Добавлен:
25.02.2016
Размер:
968.87 Кб
Скачать

1.2.1 Функции непосредственно MySql:

Ifnull(expr1,expr2)

Если expr1 не равно NULL, то функция IFNULL() возвращает значение expr1, в противном случае - expr2. В зависимости от контекста функция IFNULL() может возвращать либо числовое, либо строковое значение:

mysql> SELECT IFNULL(1,0);

-> 1

mysql> SELECT IFNULL(NULL,10);

-> 10

mysql> SELECT IFNULL(1/0,10);

-> 10

mysql> SELECT IFNULL(1/0,'yes');

-> 'yes'

Данная функция полезна при использовании LEFT JOIN. Допустим имеется таблица Students и таблица Hobbies, содержащая хобби студентов. Предполагается, что не каждый студент имеет хобби. Задача узнать хобби каждого студента, а если его нет – вывести строку ‘отсутствует’.

SELECT s.name, IFNULL(h.hobby, ‘отсутствует’) FROM students s

LEFT JOIN hobbies h ON s.idStudent = h.idStudent;

If(expr1,expr2,expr3)

Если expr1 равно значению ИСТИНА (expr1 <> 0 и expr1 <> NULL), то функция IF() возвращает expr2, в противном случае - expr3. В зависимости от контекста функция IF() может возвращать либо числовое, либо строковое значение:

mysql> SELECT IF(1>2,2,3);

-> 3

mysql> SELECT IF(1<2,'yes','no');

-> 'yes'

mysql> SELECT IF(STRCMP('test','test1'),'no','yes');

-> 'no'

LOCATE(substr, str)

Возвращает позицию первого вхождения подстроки substr в строку str. Если подстрока substr в строке str отсутствует, возвращается 0:

mysql> SELECT LOCATE('bar', 'foobarbar');

-> 4

mysql> SELECT LOCATE('xbar', 'foobar');

-> 0

1.3. Написание сценариев php с использованием pear::db

PEAR (PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом.

Установка:

  1. Распакуйте архив PEAR.tgz в какую-нибудь директорию.

  2. Для дальнейшей работы из понадобится только PEAR.php.

  3. Создайте в структуре вашего сайта директорию pear/ и скопируйте PEAR.php в нее.

  4. Распакуйте пакет DB.

  5. Скопируйте файл DB.php и поддиректорию DB/ в директорию pear/ вашего сайта.

  6. Откройте файл DB.php в редакторе, найдите строчку require_once 'PEAR.php'; и сотрите ее. Сохраните файл.

  7. Откройте файл mysql.php в подкатегории DB категории PEAR, найдите строчку require_once 'DB/common.php'; и замените на require_once 'common.php';. Сохраните файл.

  8. В корневом каталоге создайте файл testdb.php. Структура должна выглядеть примерно так:

  1. Добавьте в файл testdb.php следущий код:

<?php

header("Content-type: text/html; charset=utf-8");

require_once 'PEAR/PEAR.php';

require_once 'PEAR/DB.php';

$myDB =& DB::factory('mysql'); // подсоединяемся к mysql

$myDB->connect(DB::parseDSN('mysql://root:12345@localhost/testsmarty')); //подсоединяемся к базе

$myDB->setFetchMode(DB_FETCHMODE_ASSOC);

// устанавливаем кодировку

$myDB->query('set names utf8');

$q = 'SELECT * FROM pages'; // какой-нибудь запрос

$result = $myDB->query($q);

//проверяем корректность выполнения запроса

if(!DB::isError($result) && $result->numRows() > 0) {

// получаем ассоциативный массив значений

while($row = $result -> fetchRow()) {

print('name = '.$row['name']);

}

}

?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]