我可以用PHP创建自己的数据库吗?

时间:2010-05-31 13:30:52

标签: php mysql database

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

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

增加:

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

6 个答案:

答案 0 :(得分:10)

我假设您要创建一个SQL数据库,而无需访问独立的数据库服务器。您可以使用SQLite,它是一个在单个文件中创建轻量级数据库的库,无需单独的进程。

但是,它不如独立数据库服务器那么高效,因此如果您需要性能,请使用正确的数据库服务器。对于高性能的Web应用程序来说,这不是一个不合理的要求。

答案 1 :(得分:4)

MySQL和无。 SqlLite是一种可能,您只需要对文件系统具有写权限。 www.sqlite.org /

答案 2 :(得分:1)

  

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

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

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

答案 3 :(得分: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

答案 4 :(得分:-1)

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

答案 5 :(得分:-4)

是的,只需从PHP启动一个create database sql查询 http://dev.mysql.com/doc/refman/5.0/en/create-database.html