Могу ли я создать свою собственную базу данных из PHP? - PullRequest
6 голосов
/ 31 мая 2010

У меня есть работающий сервер PHP. Теперь я хочу использовать базы данных (MySQL или что-то подобное). Можно ли создать базу данных из PHP?

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

ДОБАВЛЕНО:

Я думаю, что SQLite - это то, что мне нужно. Но если я пытаюсь создать новую базу данных из PHP, я вижу, что PHP пытается создать файл в каталоге, который отличается от каталога, где должны находиться мои файлы. Затем он сообщает, что не может создать базу данных, и я думаю, что это потому, что он пытается создать в каталоге, в который у меня нет разрешения на запись. Могу ли я заставить PHP создавать SQLite в определенном каталоге?

Ответы [ 6 ]

10 голосов
/ 31 мая 2010

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

Однако он не так эффективен, как автономный сервер баз данных, поэтому, если вам нужна производительность, используйте подходящий сервер баз данных. Для высокопроизводительного веб-приложения это не является необоснованным требованием.

4 голосов
/ 31 мая 2010

Mysql, нет. SqlLite возможен, вам нужны только разрешения на запись в файловой системе. www.sqlite.org/

1 голос
/ 31 мая 2010

Один из вариантов - настроить базу данных SQLite в каталоге за пределами вашей папки htdocs. Это связано с тем, что люди не могут ввести имя файла базы данных и загрузить всю базу данных, что серьезно подрывает безопасность.

Если вы так склонны, вы даже можете установить уровень абстракции между PHP и СУБД, используя PDO . Затем, чтобы создать объект базы данных, вы должны указать DSN, специфичный для SQLite , напишите примерно так:

$pdo_obj = new PDO('sqlite:/path/to/my_database.sqlite3');

, а затем запросите его как обычный объект PDO, используя функции PDO .

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

1 голос
/ 31 мая 2010

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

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

Вы говорите, что у вас нет доступа к инструменту администратора? У вас нет аккаунта? Если это так, вам нужно будет попросить их у человека, который имеет такой доступ.

0 голосов
/ 31 мая 2010

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

0 голосов
/ 31 мая 2010

Да, просто запустить SQL-запрос на создание базы данных из PHP http://dev.mysql.com/doc/refman/5.0/en/create-database.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...