2010-05-31 153 views
6

我有一个有效的PHP服务器。现在我想使用数据库(MySQL或类似的东西)。是否有可能从PHP创建数据库?我可以从PHP创建我自己的数据库吗?

我想强调在我的情况下,我没有任何用户名和密码,我可以用它来连接到MySQL服务器。我也没有控制面板,我可以在现有数据库中创建数据库或表格。

新增:

我觉得SQLite是我所需要的。但是,如果我尝试从PHP创建新的数据库,我会发现PHP试图在与我的文件应该位于的目录不同的目录中创建文件。然后它报告它无法创建数据库,我认为这是因为它试图在我没有写入权限的目录中创建。我可以强制PHP在特定目录中创建SQLite吗?

+6

没有密码,也没有用户名和数据库服务器?要求一个用户帐户,然后将其撤销,我想这会更容易..但是再一次,我从来没有遇到过这种情况。 :) – LukeN 2010-05-31 13:34:04

+0

您是否安装了数据库服务器? (在这种情况下,MySQL) – alternative 2010-05-31 13:37:06

+0

哇!什么情况。感谢上帝,我从来没有陷入过这样的境地.. – User 2010-05-31 13:38:10

回答

10

我假设你火了创建数据库的SQL查询想不获得一个独立的数据库服务器上创建一个SQL数据库。您可以使用SQLite,它是一个在单个文件中创建轻量级数据库而无需单独进程的库。

但是,它不像独立数据库服务器那么高效,所以如果您需要性能,请使用合适的数据库服务器。对于高性能的网络应用程序来说这不是一个无理要求。

+2

我想有些人会夸大自己的性能需求,所以我想指出,SQLite最有可能会做得很好,直到你得到真正的*巨大的,同时数百或数千用户。 – Matchu 2010-05-31 13:41:01

+0

我在使用PHP 4的SQLite时遇到了问题,但不记得是什么导致了它。确保你至少使用PHP 5的SQLite。另外,SQLite3比SQLite2好得多。 – amphetamachine 2010-05-31 13:41:41

4

Mysql,no。 SqlLite是一种可能性,你只需要在文件系统上写入权限。 www.sqlite.org/

+0

不要忘了'chown apache:apache'和'chmod 0600'这个数据库文件。或者'chmod 0666',如果你没有root权限的话。但是,如果数据库保存在htdocs目录中,则会引入下载数据库的功能。最好将它保存在该树之外的文件夹中。 – amphetamachine 2010-05-31 13:44:11

1

我想强调的是,在我的 情况下,我没有任何的用户名和密码 ,而我可以用它来 连接到MySQL服务器。我也没有一个 控制面板,我可以创建一个 数据库或现有的 数据库中的表。

这个问题让我感到困惑,因为如果你使用的是MySQL,你应该可以使用他们的命令行管理工具创建一个数据库,用户名和密码进行连接。这也是创建数据库或表的方式。

你是说你没有权限访问管理工具吗?你没有账户?如果是这样,您需要向有此类访问权限的人员索要。

-1

通过PHP创建数据库是可能的,但为此您需要连接到数据库,该数据库需要用户名/密码对或某种身份验证。除非你的数据库允许匿名登录或类似的东西,否则这是不可能的。

+1

你不能连接到一些还不存在的东西。 – 2010-05-31 17:53:25

1

一个选项是在htdocs文件夹以外的目录中设置SQLite数据库。这是因为人们无法输入数据库文件的名称并下载整个数据库,严重影响安全性。

如果您非常喜欢,您甚至可以使用PDO在PHP和DBMS之间建立一个抽象层。然后,为了创建数据库对象时,你会指定一个DSN specific to SQLite写是这样的:

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

,然后查询它像使用PDO functions正常PDO对象。

这种方法可以更容易地迁移到使用客户端 - 服务器DBMS,一旦你可以进行设置;它只是将表结构和数据复制到新数据库,并将DSN更改为something appropriate

相关问题