Verification: a143cc29221c9be0

Mysql что такое функции для работы в php

Mysql что такое функции для работы в php

Создание пользовательской функции PHP

Первым шагом в создании функции PHP является указание имени, по которому вы будете ссылаться на функцию. В соответствии с соглашением об именах для функций PHP, они должны начинаться с буквы или подчеркивания и не должны содержать каких-либо пробелов или знаков препинания. Важно также предусмотреть, чтобы имя вашей функции не конфликтовало ни с одной из встроенных функций PHP.

Функции PHP создаются с использованием ключевого слова function, за которым следует имя и, наконец, набор круглых скобок (). Затем тело функции (сценарий, выполняющий работу функции), которое заключено в фигурные скобки {}.

Примечание: Имена функций не чувствительны к регистру букв.

В приведенном ниже примере мы создаем функцию с именем report. Открывающая фигурная скобка ({) указывает начало кода функции, а закрывающая фигурная скобка (}) указывает конец функции. Функция выводит строку "Это моя первая функция". Чтобы вызвать функцию, просто напишите ее имя и вставьте за ним скобки ():


function report() {
  echo "Это моя первая функция";
}

report(); // вызов функции
?>

Результат выполнения кода:

Это моя первая функция

Параметры функции PHP

Параметры (или аргументы, как их чаще называют) могут быть переданы в функцию. Аргументы указываются после имени функции в круглых скобках (). Вы можете добавить сколько угодно аргументов, просто разделив их запятыми. К именам параметров применяются те же правила, которые применяются к именам переменных в целом.

В следующем примере есть функция с двумя аргументами ($car, $color). Когда вызывается функция my_car(), мы также передаем значения аргументов (например, Mazda), и это значения используется внутри функции:


function my_car($car, $color) {  // Указано два аргумента: $car и $color
  echo "Марка машины: $car и она имеет $color цвет";
}

$color = 'белый';

// Вызываем функцию и передаем ей два аргумента
my_car('Mazda', $color); // Аргументы - строковой литерал и переменная
?>

Результат выполнения кода:

Марка машины: Mazda и она имеет белый цвет

В следующем примере вызываем функцию с двумя аргументами ($fname и $year) передавая разные значения:


function firstName($fname, $year) {
  echo "$fname Иванова. Родилась в $year
";
}

firstName("Надя", "1975");
firstName("Галя", "1978");
firstName("Света", "1983");
?>

Результат выполнения кода:

Надя Иванова. Родилась в 1975
Галя Иванова. Родилась в 1978
Света Иванова. Родилась в 1983

Передача параметров в функцию по ссылке

По умолчанию параметры функции передаются по значению, поэтому, если значение аргумента внутри функции изменяется, оно не затрагивается вне функции. Если нужно позволить функции изменять значения параметров, последние должны быть переданы по ссылке.

Передача параметров по ссылке выполняется добавлением амперсанда (&) к имени параметра в определении функции, как показано в примере ниже:


function getMultiply(&$num){
  $num *= $num;
  return $num;
}

$mynum = 5;
echo $mynum; // Результат: 5

getMultiply($mynum);
echo $mynum; // Результат: 25
?>

Результат выполнения кода:

5
25

Значения по умолчанию для параметров функции

Функции могут определять значения аргументов по умолчанию. Чтобы установить значение по умолчанию просто вставьте имя параметра, затем знак равенства (=) и значение по умолчанию:


function getYear($str, $num=15){
  echo "$str возраст $num лет \n";
}

echo getYear("Катя", 14); // Катя возраст 14 лет

echo getYear("Вася"); // Вася возраст 15 лет
?>

Результат выполнения кода:

Катя возраст 14 лет
Вася возраст 15 лет

В приведенном выше примере параметр $num имеет значение по умолчанию 15. Во втором вызове функции мы не передаем какое-либо значение для этого параметра, поэтому принимается значение по умолчанию 15. А вот параметр $str не имеет значения по умолчанию, поэтому он обязателен при вызове функции.

Примечание: Все параметры, для которых установлены значения по умолчанию, должны находиться правее параметров, для которых значения по умолчанию не заданы. В противном случае ваш код выдаст ошибку.

function my_car($car = 'Mazda', $color) - ERROR

Возврат значения из функции PHP

Функции могут возвращать значения в ту часть PHP сценария, из которой они были вызваны. Для возврата значения используется ключевое слово return. Возвращаемое значение может быть любого типа, включая массивы и объекты.

Оператор return может распологаться в любом месте функции. Когда интерпретатор доходит к оператору return, функция возвращает значение (если указано) и завершает свое выполнение. Если оператор return не указан или не указано возвращаемое значение, то функция вернет значение NULL.

В следующем примере возвращаемое функцией значение присваивается переменной:


//функция вместе с тремя параметрами
function getSum($num1, $num2, $num3) {
  $product = $num1 + $num2 + $num3;

  return $product; //возврат переменной
}

// сохраняем возвращенное значение
$retValue = getSum(2, 3, 5);
echo "Сумма: $retValue";
?>

Результат выполнения кода:

Сумма: 10

Функция не может возвращать несколько значений. Но мы можем получить несколько результатов, возвращая массив, как показано в следующем примере:


function divideNum($dividend, $divisor){
  $quotient = $dividend / $divisor;
  $array = array($dividend, $divisor, $quotient);
  return $array;
}

// Инициализация переменных значениями из массива
list($dividend, $divisor, $quotient) = divideNum(15, 3);
echo $dividend; // Результат: 15
echo $divisor; // Результат: 3
echo $quotient; // Результат: 5
?>

Результат выполнения кода:

15
3
5

Строгая типизация

Обратите внимание, что в приведенном выше примере мы не указывали PHP-интерпретатору, к какому типу данных принадлежит переменная.

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

В PHP 7 были добавлена возможность объявления типов данных. Теперь для отдельных файлов можно включать режим строгой типизации strict. В этом режиме в функцию можно передавать значения только тех типов, которые объявлены для аргументов. В противном случае будет выбрасываться исключение TypeError.

В следующем примере функция получает параметры как число, так и строку, не используя strict:


function getSum(int $a, int $b) {
  return $a + $b;
}
echo getSum(7, "7 days");
// поскольку strict НЕ включен, "7 дней" заменяется на int (7), и возвращается 14 ?>

Результат выполнения кода:

14

Для влючения режима строгой типизации используется выражение declare в объявлении strict_types, которое прописывается в верхней строке файла PHP:


function getSum(int $a, int $b) {
  return $a + $b;
}
echo getSum(7, "7 days");
// поскольку strict включен и "7 дней" не является целым числом, будет выдана ошибка
?>

Результат выполнения кода будет примерно такой:

PHP Fatal error: Uncaught TypeError: Argument 2 passed to addNumbers() must be of the type integer, string given, called in /home/bWN0Ml/prog.php on line 6 and defined in /home/bWN0Ml/prog.php:3 Stack trace: #0 /home/bWN0Ml/prog.php(6): addNumbers(7, '7 days') #1 {main} thrown in /home/bWN0Ml/prog.php on line 3

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

Объявления типа возвращаемого значения

PHP 7 поддерживает объявление типа возвращаемого значения функции (return). Как и в случае с объявлением типа для аргументов функции, включение режима строгой типизации при несоответствии типа возвращаемого значения функции вызовет ошибку.

Чтобы объявить режима строгой типизации для возвращаемого значения функции, добавьте двоеточие (:) и тип прямо перед открывающей фигурной скобкой { при объявлении функции.


function getSum(float $a, float $b) : float {
  return $a + $b;
}
echo getSum(1.5, 2.3);
// вернёт 3.8 ?>

Результат выполнения кода:

3.8

Укажем тип возвращаемого значения, отличный от типов аргументов, и убедимся, что тип возвращаемого значения функции является правильным:


function getSum(float $a, float $b) : int {
  return (int)($a + $b);
}
echo getSum(1.5, 2.3);
// вернёт 3 ?>

Результат выполнения кода:

3

Соединение с сервером

mysql_connect (имя_сервера [:номер_порта], имя_пользователя, пароль)

mysql_pconnect (те же аргументы)

Первым аргументом может быть имя или адрес. Номер порта указывается, если он отличается от стандартного (3306). Функция возвращает идентификатор соединения.

Функция mysql_pconnect() устанавливает устойчивое соединение, которое не разрывается после завершения работы сценария, а mysql_connect() – неустойчивое. Если другой PHP-сценарий сделает вызов функции mysql_pconnect() с аналогичными аргументами, то устойчивое соединение будет использовано повторно.

Выбор базы данных

mysql_select_db(имя_бд)

Выполнение указанного запроса

mysql_query(имя_переменной с текстом запроса, имя_переменной с идентификатором соединения)

Функция принимает в качестве аргумента текст SQL-запроса плюс идентификатор соединения, полученный от функции mysql_connect(), и возвращает идентификатор результирующего набора записей. В случае ошибки возвращается 0.

Зачем нужны базы данных?

Все мы знаем, что базы данных полезны и они нужны для современных веб сайтов. Тем не менее для ясности давайте выясним зачем они нужны и для каких целей они используются.

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

В базе данных можно хранить информацию относительно зарегистрированных пользователей, статей на сайте, комментариев и прочей информации, что вам может потребоваться.

После сохранения данных вы можете к ним обращаться, выводить на страницы сайта, обрабатывать, редактировать, обновлять или же вовсе удалять. Хранить информацию можно еще в текстовых файлах на сервере, но такой вариант является не удобным, если вам часто нужно просматривать информацию или же редактировать её.

Базы данных – это что-то в духе удаленной папки на сервере, где в структурированном порядке хранятся все ваши записи. С такой папкой легко и приятно работать.

Как происходит работа с базами данных?

Для работы с БД используются различного рода системы управления базами данных или сокращено СУБД. Мы в ходе курса будем использовать СУБД MySQL. Помимо нее существуют и другие СУБД. Разобраться с ними вам не составим труда, ведь принцип работы с другими СУБД будет схожим с тем, что будет изучен нами.

СУБД позволяет нам управлять базой данных. Например создать таблицу, добавить записи, обновить или отредактировать данные.

Мы изучим MySQL, что является системой или, другими словами, программой для управления базами данных. Для выполнения команд внутри базы данных используется язык запросов SQL.

Язык запросов SQL

Для работы с базой данных вам действительно понадобиться отдельный язык, что называется

SQL

. Язык достаточно прост в изучении и позволяет выполнять запросы к базе данных.

Через MySQL мы имеем доступ к базе данных. В ней у нас могут быть записи, а для управления записями мы будем использовать SQL запросы.

Язык SQL является универсальным языком, ведь вне зависимости от СУБД  и вне зависимости от серверного языка вы в любом случае используете те же SQL команды каждый раз.