|
|
|
| Помогите пожалуйста ,как создать dbm базу данных? | |
|
|
|
|
|
|
|
для: shiling
(25.12.2005 в 09:15)
| | Это делается с помощью функции dbmopen()
resource dbmopen ( string filename, string flags )
http://php.rinet.ru/manual/ru/function.dbmopen.php
<?php
$db = dbmopen("database.db", "n");
if ($db) {
echo("База данных успешно создана.");
} else {
echo("Произошла ошибка при создании базы данных.");
}
?>
|
Приведённый выше код создаст бд, за что отвечает флаг "n" (new). | |
|
|
|
|
|
|
|
для: Саня
(25.12.2005 в 11:55)
| | вот моя програма:
<?php
$x=dbmopen("/www/shiling.vip.su/dbm/db.db","n");
?>
|
вот что выдает при обращение к ней :
Fatal error:Call to undefined function
dbmopen()
Что у меня не так?chod на каталоге 777. | |
|
|
|
|
|
|
|
для: shiling
(25.12.2005 в 12:29)
| | Дело в том, что формат dbm - одна из разновидностей базы данных Berkeley DB, которая поддерживается расширением php_dba.dll. Но некоторые из этих разновидностей конфликтуют друг с другом, поэтому поддержка конкретно формата dbm может отсутствовать на вашем хостинге.
А может просто не подключено само расширение.
Для проверки выполните phpinfo() у себя на хостинге и поищите строку: "DBA support". Если она имеет значение "enabled" - значит расширение подключено, если такой строки нет вообще, - значит и расширение не подключено.
Далее взгляните на строку "Supported handlers" (если расширение всё-таки подключено). Там через пробел написаны поддерживаемые форматы. Если среди них нету "dbm" - значит функции dbmopen() не существует, о чём говориться в ошибке (Call to undefined function). | |
|
|
|
|
|
|
|
для: Саня
(25.12.2005 в 12:48)
| | че то я не могу найти,если не затруднит посмотрите пожалуйста:
http://shiling.vip.su/dbm/dbm.php | |
|
|
|
|
|
|
|
для: shiling
(25.12.2005 в 13:43)
| | По-видимому это расширение вообще не подключено.
Но вы можете попробовать уговорить хостера подключить эту библиотеку. Если же не получится, прийдётся искать иной выход. Вот, например, я заметил, что у вас на хостиге подключена библиотека SQLite. Просто замечательное расширение! Использует стандарт SQL 92, и при этом хранит базу в файлах. Довольно сильно смахивает на MySQL, только нет ограничений на количество баз данных, работает быстрее, вобщем, читайте:
http://php.rinet.ru/manual/ru/ref.sqlite.php
http://www.phpworld.ru/sqlite/ | |
|
|
|
|
|
|
|
для: Саня
(25.12.2005 в 14:20)
| | огромное спасибо вам,вы очень помогли:) | |
|
|
|
|
|
|
|
для: shiling
(25.12.2005 в 09:15)
| | Ппршу прощения, что влезаю. Это что же выходит, вместо MySQL своя БД, что ли? | |
|
|
|
|
|
|
|
для: Киналь
(25.12.2005 в 16:22)
| | Правильней сказать не своя, а другая. SQLite - сторонняя разработка. Например, спросят: "Какие бд ты знаешь?". В ответ: "MySQL, PostgreeSQL, Oracle, Sybase, MS SQL, dBase, Ingres". Теперь с уверенностью можно дополнить этот список и такой бд, как SQLite. | |
|
|
|
|
|
|
|
для: Саня
(25.12.2005 в 16:31)
| | Нет. я не совсем точно выразился. Если все другие БД (MySQL, Oracle, PostgreeSQL) требуют дополнительной установки, то SQLite, что же, в комплекте с РНР? Или я чего-то не так понял? | |
|
|
|
|
|
|
|
для: Киналь
(25.12.2005 в 23:03)
| | Да. Начиная с версии 5.1.0, PHP по умолчанию комплектуется библиотекой SQLite. Эта библиотека сама является базой данных, а не клиентской программой или интерфейсом для работы с БД. | |
|
|
|
|
|
|
|
для: Саня
(25.12.2005 в 23:11)
| | Это называется встроенный сервер, такой сервер существует и у MySQL - его библиотеку можно встраивать в приложения таким образом, чтобы они не зависили от внешнего сервера. | |
|
|
|
|
|
|
|
для: Саня
(25.12.2005 в 23:11)
| | Спасибо, весьма любопытно. Хех, и никаких проблем с экспортом БД - файлы скопировал, и всего делов=) Хорошая вещь. Жаль только, что РНР пятый нужен. | |
|
|
|