gpt4 book ai didi

php - 如何在 YII 中更改数据库连接

转载 作者:行者123 更新时间:2023-11-29 05:22:59 24 4
gpt4 key购买 nike

我有 yii 应用程序,我想更改数据库连接..首先,我的应用程序连接到“trackstar”数据库,稍后我想更改为“taskmanagement”数据库..

所以我只是简单地更改代码中的数据库名称:

    <?php

// This is the configuration for yiic console application.
// Any writable CConsoleApplication properties can be configured here.
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'My Console Application',
// application components
'components'=>array(
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=taskmanagement',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
'authManager'=>array(
'class'=>'CDbAuthManager',
'connectionID'=>'db',
'itemTable' => 'tbl_auth_item',
'itemChildTable' => 'tbl_auth_item_child',
'assignmentTable' => 'tbl_auth_assignment',
),
),
);

但是当我运行应用程序时出现错误:

CDbCommand failed to execute the SQL statement: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'trackstar.tbl_auth_assignment' doesn't exist. The SQL statement executed was: SELECT * FROM tbl_auth_assignment WHERE userid=:userid

我不明白的是,为什么我仍然连接到 trackstar 数据库,尽管我只是将 dbname 更改为 taskmanagement

谢谢:)

最佳答案

我猜你的一个模型查询写成直接的 SQL 查询。

例如:

 SELECT * FROM databaseName.tableName 

因此,即使您更改了配置文件中的数据库名称,这些查询也可能无法正常工作。请以这种方式检查您的代码。

关于php - 如何在 YII 中更改数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23418976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com