抱歉,如果这过于简单化。
我决定使用 SQLite 数据库而不是 MySQL 数据库。我试图了解 SQLite 是多么简单,并且想要一个简单的答案教程,介绍如何将 SQLite 与 Zend 框架一起使用、将我的 SQLite 数据库放在我的目录结构中的什么位置、如何创建数据库等.
抱歉,如果这过于简单化。
我决定使用 SQLite 数据库而不是 MySQL 数据库。我试图了解 SQLite 是多么简单,并且想要一个简单的答案教程,介绍如何将 SQLite 与 Zend 框架一起使用、将我的 SQLite 数据库放在我的目录结构中的什么位置、如何创建数据库等.
@tuinstoel 是正确的,如果它不存在,附加到 SQLite 数据库会隐式创建它。
SQLite 还支持命令行客户端,它或多或少类似于 MySQL 的命令外壳,允许您发出临时命令或运行 SQL 脚本。请参阅此处的文档: http ://www.sqlite.org/sqlite.html
当然,您需要在 ZF 应用程序中更改 Zend_Db 适配器。ZF 仅支持 PDO SQLite 扩展的适配器。SQLite 不支持用户/密码凭据。此外,由于 SQLite 是嵌入式数据库而不是客户端/服务器,因此“主机”参数毫无意义。
$db = Zend_Db::factory("pdo_sqlite", array("dbname"=>"/path/to/mydatabase.db"));
另一个警告:当您以关联数组格式获取查询结果时,某些版本的 SQLite 坚持使用“tablename.columnname”作为数组中的键,而其他品牌的数据库将键返回为简单的“列名”。ZF 中有一个关于此的突出错误,试图补偿并使 SQLite 与其他适配器的行为一致,但该错误尚未解决。
如果您连接到一个不存在的数据库,则会即时创建一个数据库。(您可以关闭此行为)
Zend Framework 快速入门教程(撰写本文时为 1.9.5 版)现已对此进行了介绍。只需创建一个新项目(使用 zf 命令行工具。在此处查找有关设置它的精彩教程config.ini
),将这些行添加到您的文件中,您就可以开始了:
; application/configs/application.ini
[production]
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/databaseName.db"
现在,当您询问您的默认数据库适配器时,它将使用这个。我还建议下载快速入门教程源代码并使用该load.sqlite.php
脚本。您可以创建架构和数据文件并使用这些表/列/值加载数据库。这很有帮助!只需查看教程。都在里面。
此答案已从问题中移到 CW 答案中,以否认对内容的所有权。