Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n sqlite_open – открывает базу данных;
n sqlite_popen – открывает «постоянное» соединение с базой данных. Если база данных не существует, она будет создана;
n sqlite_query – выполняет SQL-запрос и возвращает идентификатор результата;
n sqlite_rewind – переходит к первой записи.
Остановимся на этих функциях подробнее.
Открытие и закрытие базы данных
Для открытия базы данных используется функция sqlite_open():
resource sqlite_open ( string filename [, int mode [, string &error_message]])
Первый параметр – это имя файла таблицы, второй – режим доступа к таблице. По умолчанию используется режим 0666, позволяющий читать и записывать файл всем желающим – владельцу (то есть вам), вашей группе и всем остальным пользователям. Последний параметр – это строка, в которую будет записано сообщение об ошибке, если базу данных невозможно открыть.
В случае успеха функция возвращает дескриптор базы данных, иначе – значение FALSE («ложь»).
Для того чтобы закрыть базу данных, используется функция sqlite_close():
sqlite_close( resource dbhandle )
В качестве её аргумента следует указать дескриптор соответствующей базы данных.
Замечание: несмотря на то, что механизм работы предполагает автоматическое закрытие используемых ресурсов после выполнения сценария, принудительное закрытие базы данных – хороший тон программирования. Не следует пренебрегать этой операцией. Автоматическая «сборка мусора» и закрытие ресурсов могут произойти не сразу. Это может породить некоторые неожиданные коллизии, которые довольно сложно будет отлавливать. Исключение – использование постоянного соединения с базой данных.
Еще один способ получить доступ к базе данных – функция sqlite_popen():
resource sqlite_popen ( string filename [, int mode [, string &error_message]])
Эта функция открывает «постоянное» соединение с базой данных, её аргументы аналогичны аргументам функции sqlite_open().
Функция sqlite_popen() использует механизм постоянных ресурсов PHP. Вкратце это выглядит так: вы открываете постоянное соединение с базой данных, работаете, потом работа сценария завершается. При этом если вы не указали принудительно, закрытия и освобождения ресурса не происходит. То есть, при следующем запуске сценария функция popen() попытается найти открытое постоянное соединение и, если оно существует, будет его использовать, а не открывать базу данных заново. При частых запусках сценария это позволяет повысить его производительность, так не тратится время на открытие базы.
Однако при большом количестве одновременных обращений к базе данных взамен этой экономии вы можете получить накопление открытых соединений с базой данных, т.е. увеличить нагрузку на внешние ресурсы системы. Второй неприятный момент, с которым вы можете тут столкнуться – некорректное завершение сценария, при котором могут оставаться потерянные соединения с базой данных. В общем, выбор между этими двумя способами требует вдумчивого подхода и некоторого анализа предполагаемой работы вашего приложения.
Выполнение запросов
Для выполнения запросов к базе данных используется функция sqlite_query():
resource sqlite_query ( resource dbhandle, string query [,int result_type])
resource sqlite_query ( string query, resource dbhandle [,int result_type])
Обратите внимание, что функцию можно вызывать двояко: или сначала указывать дескриптор базы данных, а потом – SQL-запрос или наоборот. Кроме того, этой функции можно непосредственно указать необязательный параметр, определяющий тип возвращаемого результата в виде ассоциативного, нумерованного или смешанного массива.