❶ thinkphp如何从模型连接的数据库切换回原来配置的数据库连接
翻下TP手册,其实不需要提问的,既然我回答了,就给我积分吧。
对于默认的数据库连接,内部的数据库编号是0,因此为了避免冲突,请不要再次定义数据库编号为0的数据库配置
$this->db(0);
❷ 怎么样配置thinkphp 与本地mysql和sql server同时连接俩个数据库
thinkphp 同时连接两个数据库的配置方法如下:
1、在Db.class.php脚本文件里面的类增加一个魔术方法__get(),写法如下:
public function __get($propertyName)
{ return $this->$propertyName;
}
这个方法是用来访问类中protected $config成员属性用的。有的人可能会说,直接把protected改成public岂不是更好。这样只解决了基类的问题,假如,子类也同样进行了受保护,那要你更改更多的文件,这是我们做IT程序员非常不愿意看到的事情。
2、在Model.class.php中的getTableName()方法更改如下:
$tablepre = $this->db->config['tablepre'];
if(empty($this->trueTableName)) {
$tableName??= empty($tablepre) ? $this->tablePrefix : $tablepre;
if(!empty($this->tableName)) {
$tableName .= $this->tableName;
}
else
{
$tableName .= parse_name($this->name);
}
$this->trueTableName? ? =? ?strtolower($tableName);
}
return (!empty($this->dbName)?$this->dbName.'.':'').$this->
trueTableName;这样就完成了多库自由切换时,导致的表前缀问题。
/*******************面向对象PDO连接方式*********************/
'DB_TYPE' => 'PDO', // 数据库类型
'DB_DSN' => 'mysql:host=localhost;dbname=master', // DSN连接。
'DB_USER' => 'root', // 数据库用户名
'DB_PWD' => '123456', // 数据库密码
'DB_PORT' => '3306', // 数据库端口
'DB_PREFIX' => 'g_', // 数据表前缀
'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8
❸ thinkphp 如何手动连接数据库
thinkPHP配置数据库是在你的项目问件夹下的的config中配置
config中的具体配置方法如下:
//数据库配置信息
'DB_TYPE'=>'mysql',//数据库类型
'DB_HOST'=>'localhost',//服务器地址
'DB_NAME'=>'thinkphp',//数据库名
'DB_USER'=>'root',//用户名
'DB_PWD'=>'123456',//密码
'DB_PORT'=>3306,//端口
'DB_PREFIX'=>'think_',//数据库表前缀
'DB_CHARSET'=>'utf8',//字符集
'DB_DEBUG'=>TRUE,//数据库调试模式开启后可以记录SQL日志3.2.3新增
❹ thinkphp只支持一个数据库的读写分离我这里配置有多个数据库,如何配置
每个模型都可以 单独配置数据库,具体可以查询手册嘛 很详细的
❺ thinkphp 数据库怎么设置
在项目文件夹里面的Conf的config.php里面去配置就可以了,这个是公共配置文件。参考:
return array(
//'配置项'=>'配置值'
'APP_GROUP_LIST' => 'Index,Admin', //独立分组
'DEFAULT_GROUP' => 'Index',
'APP_GROUP_MODE' => 1,
'APP_GROUP_PATH' => 'rzxt',
'DB_HOST' => '127.0.0.1',
'DB_USER' => 'root',
'DB_PWD' => '123456',
'DB_NAME' => 'klrz',
'DB_PREFIX' => 'kl_',
//'TMPL_VAR_IDENTIFY' => 'array',
//'TMPL_FILE_DEPR' => '_',
'DEFAULT_TIMEZONE'=>'Asia/Shanghai'
);
❻ 多个Thinkphp项目如何共用一个数据库连接
如果你的多个项目就是只要这1个数据库,那在多个项目的config.php文件写数据库配置,如果你只想某个查询的时候连接额外的数据库,model->db("number",$config)->query();数字编号是你第一次连接的时候任意写1个,下次再用这个连接就不用写$config,$config就是你要查询的数据库配置,具体看手册-模型-连接数据库(切换数据库)
❼ thinkphp3.2怎么连接数据库配置
return array(
//'配置项'=>'配置值'
'DB_TYPE' => ' ', // 数据库类型
'DB_HOST' => ' ', // 服务器地址
'DB_NAME' => ' ', // 数据库名
'DB_USER' => ' ', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => ' ', // 端口
'DB_PREFIX' => ' ', // 数据库表前缀
'DB_CHARSET' => 'utf8', //编码
)
❽ ThinkPHP2.1 多数据库 表前缀怎么设置
ThinkPHP\Common文件夹中的convention.php中是tp的核心配置文件,不能乱动,如果要想更改里面的配置,在Conf 文件夹里面的config.php可以配置,可以这样写
<?php
return array(
'DB_TYPE' => 'mysql',// 数据库类型
'DB_HOST' => '127.0.0.1',// 数据库服务器地址
'DB_NAME' => 'thinkphp',// 数据库名称
'DB_USER' => 'root',// 数据库用户名
'DB_PWD' => '123',// 数据库密码
'DB_PREFIX' => 'tp_',// 数据表前缀
'DB_CHARSET' => 'utf8',// 网站编码
'DB_PORT' => '3306',// 数据库端口
'APP_DEBUG' => false,// 开启调试模式
);
?>
也可以在最外边写,就是与ThinkPHP框架同一目录中写一个config.php文件,格式如同上面的一样,不过在Conf 文件夹里面的config.php中得包含最外边的那个config.php
❾ thinkphp数据库配置信息加密怎么处理
今天有一个朋友问我thinkphp的这个问题,刚好网络搜索到你这个问题。已经解决。就帮你解答一下这个问题。
首先我尝试在入口文件封装一个加密函数,我用php des 加密,然后在配置文件config.php调用。然后在控制器里面使用,打印配置文件:mp(C());//输出所有的配置文件信息, 虽然能看到正确的数据用户名和密码,但是会报错。失败告终。
我说一下我的解决方法。很简单。
1:把配置文件里面的用户名,密码,数据库名瞎写一写,别人看到你的代码的配置文件看到的就是错误的数据库名和密码了。比如:
'DB_NAME' => 'SB', // 数据库名
'DB_USER' => 'ni_da_ye', // 用户名
'DB_PWD' => 'da_da_bi', // 密码
在每个控制器文件里面。加入一段代码。
比如你的IndexController.class.php文件。加下面的代码。
/* 初始化方法*/
public function __construct(){
parent::__construct();
C("DB_NAME",decrypt('712349721937491237'));//数据库名,
C('DB_USER',decrypt('712349721937491237'));//用户名
C('DB_PWD',decrypt('712349721937491237'));//密码
}
看清楚了吗?
decrypt()这个函数就是我封装的一个加密函数,亲自测试没有错误。可能会牺牲一些性能。但是保证了用户名,密码,数据库名没有泄露。甚至你都可以把数据库连接地址也加密一下。希望能帮到你。
PHP加密函数可以考虑用des,aes这些可逆加密。别用什么md4,md5.
❿ thinkphp3.2如何让数据库内容进入配置文件
查询出数据库内容,按照配置格式写入一个和config.php统计目录的xxx.php文件,然后config.php里面添加'LOAD_EXT_CONFIG'=>'xxx',引入这个新加的配置文件。