本文较为详细的讲述了thinkphp连接数据库及主从数据库的设置方法,在thinkphp项目开发中非常实用。具体实现方法如下:
一、项目根目录上建立config.php
代码如下所示:
<?php
if(!defined('THINK_PATH')) exit();
return array(
'DB_TYPE' => 'mysql',// 数据库类型
'DB_HOST' => 'localhost',// 主机
'DB_NAME' => 'aoli',// 数据库名称
'DB_USER' => 'root',// 数据库用户名
'DB_PWD' => '',// 数据库密码
'DB_PREFIX' => '',// 数据表前缀
'DB_CHARSET' => 'utf8',// 网站编码
'DB_PORT' => '3306',// 数据库端口
);
?>
二、设置项目配置文件
\Home\Conf\config.php文件代码如下:
立即学习“PHP免费学习笔记(深入)”;
<?php
$arr1=array{
'URL_MODEL'=>2, //pathinfo访问模式
};
$arr2=include './config.php';
return array_merge($arr1,$arr2); //数组整合
?>
\Admin\Conf\config.php文件代码如下:
v1.8更进:1,按QQ号显示的功能从原来的从大到小排列改为从小到大排列2,增加推荐和极品号码显示,用户可以对推荐号码和极品号码的大小范围进行更改3,完善CONN.asp的数据库连接功能4,增加对热门功能进行自主式管理功能,可以自己设置5,对会员状态,钻石状态还有QQ等级进行图片式显示6,增加出售QQ有无宠物功能显示7,将QQ等级和宠物等级限制在32级以内8,完善后台列表显示9,完善后台更改QQ信
0
<?php
$arr1=array{
'URL_MODEL'=>1, //普通访问模式 get方式
};
$arr2=include './config.php';
return array_merge($arr1,$arr2); //数组整合
?>
三、主从数据库设置
该设置比较适合高并发,高负载的大型网站
读者可以到\ThinkPHP\Common\convention.php中查看默认的系统常量设置
config.php文件设置如下:
<?php return array( //'配置项'=>'配置值' //后台 'URL_MODE'=>0, 'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost,192.168.1.2',//两台数据库服务器 'DB_PORT'=>'3306', 'DB_NAME'=>'thinkphptest',//如果数据库名相同,不用定义多个,如果不相同与服务器依次对应 'DB_USER'=>'root', 'DB_PWD'=>'password', //表前缀 'DB_PREFIX'=>'think_', //接下来配置主从数据库 'DB_DEPLOY_TYPE'=>1,//开启分布式数据库 'DB_RW_SEPARATE'=>ture,//读写分离,默认第一台服务器为写入服务器,其它的只读取不写入 ); ?>
在某个action中读取数据库文件参数:
$hh=C('DB_HOST'); //C可以读取配置文件中的值
$pp=C('DB_PREFIX');
$this->assain('h',$hh);
$this->assain('p',$pp);
$this->display();
这个action下的tpl:
数据库服务器地址:{$h}
数据库表前缀:{$p}
希望本文所述方法对大家的ThinkPHP程序设计能有所帮助。
据我所知 。可以设置多个数据库,,但是没有你这么设置的。。。。
多看帮助文档对你有帮助。,帮助文档上面应该有这个多数据库的设置。。
ThinkPHP中如何连接数据库操作数据库之前,我们要建立一个Model。在说Model和Action之前,先交代一下Model和Action的保存位置。Model保存在 程序目录中lib/Model文件夹中,Action保存在程序目录中lib/Action文件夹中。ThinkPHP系统默认的Model规则是这样子 的:Model文件文明名类似“Model类名+Model.class.php,并且Model默认的操作数据库表名字为我们在config.php中 定义的DB_PREFIX+Model类名,Model类名和文件名需要大写”在Model文件中,定义一个类,扩展Model类,一般写法如下class 类名Model extends Model{}那么,现在我们来定义一个Model吧。由于我们数据库表名称为cms_article,class ArticleModel extends Model{}文件保存为ArticleModel.class.php。什么都不用写,一个Model已经定义完成了。那么现在,我们继续我们的Action知识吧。Action和Model很多的规则很接近,不同的是Action不直接操作数据库,而是需要通过Model对数据库进行操作。现在我们来定义一个Action来完成操作。class IndexAction extends Action{function index(){$Article = D(”Article”);}}将文件保存为IndexAction.class.php。OK,现在我们刷新一下首页,如果没有任何的提示,那么恭喜你,数据库连接Model、 Action定义都是正常的。Action中D方法就是调用Model,Article就是我们刚刚定义的那个 ArticleModel.class.php中的Model类~也就是说在定义Model的同时,我们已经完成了对数据库的连接和对数据库表操作的准 备~
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号