Php ZF2链接到数据库时出现问题
首先是一点介绍。我正在使用wamp和ZF骨架应用程序:Php ZF2链接到数据库时出现问题,php,zend-framework,zend-framework2,zend-db,Php,Zend Framework,Zend Framework2,Zend Db,首先是一点介绍。我正在使用wamp和ZF骨架应用程序: www\firstApplication 因此,我浏览了ZF网站的第一个教程应用程序。这包括模块相册,因此浏览器通过以下路径将其导入: http://localhost/firstApplication/public/album 我有一个 Zend\Db\Adapter\Exception\InvalidQueryException 说这个 Statement could not be executed (42S02 - 1146 -
www\firstApplication
因此,我浏览了ZF网站的第一个教程应用程序。这包括模块相册,因此浏览器通过以下路径将其导入:
http://localhost/firstApplication/public/album
我有一个
Zend\Db\Adapter\Exception\InvalidQueryException
说这个
Statement could not be executed (42S02 - 1146 - Table 'blog.album' doesn't exist)
图坦卡蒙还包括对
config\autoload\global.php
其中包含以下代码:
'db' => array(
'driver' => 'Pdo',
'username' => 'root', //edit this
'password' => '', //edit this
'dsn' => 'mysql:dbname=zf2tutorial;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
在我学习了第二个深入教程之后,这是一个问题,因为设置当然是全局的,所以我对它进行了评论
该模块具有以下结构:
module/
Album/
config/
module.config.php
src/
Album/
Controller/
AlbumController.php
Form/
AlbumForm.php
Model/
Album.php
AlbumTable.php
view/
album/
album/
add.phtml
delete.phtml
edit.phtml
index.phtml
autoload_classmap.php
Module.php
我把上面的设置放在module.config.php中,它导致了blog数据库的异常,我在另一个名为blog的模块(深入图坦卡蒙的)中看到了这个异常
所以我检查了global.php和local.php(在同一个文件夹中)。没有数据库引用
我还检查了模块中的所有文件。自动加载的_classmap.php为空。我也试过把它放在那里,但还是一样的错误
因此,我不知道在哪里搜索数据库引用,这将导致另一个模块。我的最后一个想法是,它必须使用Module.php中的以下方法进行操作:
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
}
在本教程中,作者写道:
“Zend Framework 2的ModuleManager合并每个模块的module.config.php文件中的所有配置,然后合并到config/autoload(*.global.php和*.local.php文件中的文件中。”
但是global.php和local.php是emtpy,其中绝对没有任何内容
非常感谢您的帮助。您所说的“指向另一个模块的数据库引用”是什么意思?你认为是什么导致了你的错误?错误表明数据库中的
相册
表不存在。它应该通过教程的以下步骤创建:我编辑它。在问题中,我从另一个模块复制了配置。现在,你可以看到现在有提到“博客”。只提及“ZF2tuorial”。好的,明白了。那么是哪个URL给了您这个错误,您确定该URL将您带到正确的应用程序吗?此外,您的项目中是否有任何与缓存相关的文件夹?1。这个URL就是上面的那个:是的,我确信这个URL把我带到了正确的应用程序:并且工作正常。2.我用composer创建的框架应用程序中有一个文件夹:data\cache with.gitignore。或者可能还有另一个文件夹?什么是“缓存相关文件夹”?就像我说的,当我在另一个模块中更改mysql:dbname时,它会工作,所以必须引用这个module.config.php