Процедурный и объектно-ориентированный интерфейс
  
   Модуль mysqli предоставляет двойной интерфейс программисту. Поддерживаются
   как процедурная, так и объектно-ориентированная парадигмы программирования.
  
  
   Пользователи, переходящие со старого модуля mysql, возможно, предпочтут
   процедурный интерфейс. Он весьма схож с интерфейсом старого модуля, и во
   многих случаях функции отличаются только префиксом в имени. Некоторые
   mysqli-функции принимают дескриптор соединения первым аргументом, в отличие от
   соответствующих им функций старого модуля, которые принимают его в качестве
   последнего необязательного аргумента.
  
  
   
    Пример #1 Простота перехода со старого модуля mysql
    
<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
$result = mysqli_query($mysqli, "SELECT 'Пожалуйста, не используйте устаревший модуль mysql в новых проектах.' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo $row['_msg'];
$mysql = mysql_connect("example.com", "user", "password");
mysql_select_db("test");
$result = mysql_query("SELECT 'Используйте вместо него модуль mysqli.' AS _msg FROM DUAL", $mysql);
$row = mysql_fetch_assoc($result);
echo $row['_msg'];
?>
     
    
 Результат выполнения приведённого примера:
Пожалуйста, не используйте устаревший модуль mysql в новых проектах. Используйте вместо него модуль mysqli.
 
    
  
  
   Объектно-ориентированный интерфейс
  
  
   В дополнение к процедурному пользователи могут использовать
   объектно-ориентированный интерфейс. Документация заточена именно под
   объектный интерфейс. Объектно-ориентированный интерфейс предлагает функции
   сгруппированные по цели их применения, что облегчает их поиск и освоение. Тем
   не менее, в практических примерах к функциям приводится код для обеих парадигм.
  
  
   Каких-либо принципиальных отличий в производительности между интерфейсами нет.
   Пользователи вольны в выборе интерфейса, основываясь на личных предпочтениях.
  
  
   
    Пример #2 Объектно-ориентированный и процедурный интерфейсы
    
<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
$result = mysqli_query($mysqli, "SELECT 'Мир, полный ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo $row['_msg'];
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'выбора, чтобы угодить всем.' AS _msg FROM DUAL");
$row = $result->fetch_assoc();
echo $row['_msg'];
     
    
 Результат выполнения приведённого примера:
Мир, полный выбора, чтобы угодить всем.
 
    
  
  
   Примеры в этом руководстве будут написаны в объектном стиле в виду того, что
   объектному подходу отдавалось предпочтение при создании документации.
  
  
   Смешивание стилей
  
  
   Переключаться между стилями программирования можно сколь угодно часто и в любое
   время, однако делать этого не рекомендуется, так как это ухудшает читаемость
   кода и затрудняет его поддержку.
  
  
   
    Пример #3 Плохой стиль программирования
    
<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = mysqli_query($mysqli, "SELECT 'Этот код работает, но лучше так не писать.' AS _msg FROM DUAL");
if ($row = $result->fetch_assoc()) {
    echo $row['_msg'];
}
     
    
 Результат выполнения приведённого примера:
Этот код работает, но лучше так не писать.
 
     
  
  
   Смотрите также