尝试按照zf1的教程:关于数据库连接

时间:2012-11-27 19:14:29

标签: zend-framework

我正在关注this教程。

当我运行php scripts/load.mysql.php时,它说:

  

SQLSTATE [42000] [1102]数据库名称不正确'/ home / tirengarfio / workspace / ZendFW / gaziende / application /../ data / db / guestbook-dev.db'

所以我只是想改变一行

resources.db.params.dbname = APPLICATION_PATH "/../data/db/guestbook-dev.db"

resources.db.params.dbname = "guestbook-dev" and created a new database called guestbook.

但我得到另一个关于“留言板”的错误不是文件,确切地说:

  

PHP警告:file_get_contents(/home/tirengarfio/workspace/ZendFW/gaziende/scripts/data.mysql.sql):无法打开流:/ home / tirengarfio / workspace / ZendFW / gaziende /中没有此类文件或目录第81行的scripts / load.mysql.php

这是第81行错误的代码(检查var_dump()返回的内容):

// Check to see if we have a database file already
$options = $bootstrap->getOption('resources');
$dbFile  = $options['db']['params']['dbname'];
if (file_exists($dbFile)) {
    unlink($dbFile);
}

// this block executes the actual statements that were loaded from
// the schema file.
try {
    $schemaSql = file_get_contents(dirname(__FILE__) . '/schema.mysql.sql');
    // use the connection directly to load sql in batches
    $dbAdapter->getConnection()->exec($schemaSql);
    var_dump($dbFile);die(); // this returns "guestbook-dev"
    chmod($dbFile, 0666);

那么......我该如何准确设置数据库连接的名称?

注意:本教程的示例适用于Sqlite,我正在尝试使用MySQL。那点吗?我从未使用过Sqlite。

此致

1 个答案:

答案 0 :(得分:2)

这是Mysql数据库的基本application.ini设置,

resources.db.adapter = "pdo_Mysql"
resources.db.params.username = "username"
resources.db.params.password = "password"
resources.db.params.dbname = "database name"
resources.db.params.charset = "utf8"
resources.db.isDefaultTableAdapter = true //optional but very helpful if you only have one db

Mysql需要更多信息,然后是SqlLite。

至于填充本教程的数据库,我只是采取了简单的方法并将SQL复制到phpmyadmin。

注意:
如果你之前从未使用过SqlLite,那么这可能是学习新东西的好机会。本教程真的不需要Mysql。 :)