Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Почему появление MySQLi было необходимым

MySQLi

Продолжается постоянное развитие популярного серверного языка программирования PHP5. Сейчас для разработчиков обеспечена возможность простого использования функционала MySQL либо xml php5. С появлением новых версий MySQL в свое время создателям этого языка пришлось серьезно подумать над совместимостью с данной СУБД.

С возникшими проблемами смогло справиться специальное расширение языка, получившее название mysqli. Более активно стали использоваться mysql транзакции, код привлекал разработчиков своей простотой и структурированностью.

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

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

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

Но следует помнить и про особенности перехода на новое расширение, поскольку заметны сразу же существенные отличия. Чтобы исправить важные недостатки в работе и дизайне, решено было исключить определенные функции. В частности, не используется возможность подключения к БД по умолчанию. Требуется явно подключаться к ней – это важный аспект для вопросов безопасности.

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

Своими возможностями расширение обязано создателю Георгу Рихтеру и Заку Грэнту, который активно поддерживал разработку этого проекта.

Пример использования

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

<?php

// Подключаемся к серверу MySQL
$dblink = mysqli_connect(
                   'myhost',   // Хост сервера баз данных. Например, 'localhost'
                   'username', // Имя пользователя БД
                   'password', // Пароль пользователя
                   'mydb');    // База данных, к которой следует обращаться
                               // по умолчанию при запросах
if (! $dblink) {
   echo "Невозможно соединиться с базой данных. Код ошибки: "
      . mysqli_connect_error(); 
   exit; 
}

// Теперь посылаем серверу запрос
$sql = 'SELECT title, text FROM articles ORDER BY pub_date DESC LIMIT 10';
if ($result = mysqli_query($dblink, $sql)) {

    echo "Последние публикации:\n";
    // Выбираем и выводим результаты запроса
    while ($data = mysqli_fetch_assoc($result)) { 
        echo $data['title'] . "\n" . $data['text']; 
    }
    // Освобождаем память, забранную под выборку
    mysqli_free_result($result); 
}

// И закрываем соединение
mysqli_close($dblink); 
?>

Как видно из этого примера, ext/mysqli может использоатьзоваться почти так же, как ext/mysql. Единственное существенное различие состоит в том, что процедурный стиль использования ext/mysqli несколько многословнее.

29.11.2010


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2010-11-29 18:40:53

Метки материала: mysqli, базы данных, mysql, php, скрипты, программирование, db, sql, язык программирования php

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.