thinkphp3.x连接mysql数据库的方法(具体操作步骤)

本文实例讲述了thinkphp3.x连接mysql数据库的方法。分享给大家供大家参考,具体如下:

惯例配置文件:ThinkPHP/conf/convention.php

(1)在配置文件中填写配置信息(配置文件:“./xmall/conf/config.php”):

示例:

<?php
return array(
   //'配置项'=>'配置值'
   /* 数据库设置 */
    'DB_TYPE'    => 'mysql',  // 数据库类型
    'DB_HOST'    => 'localhost', // 服务器地址
    'DB_NAME'    => 'xmall',  // 数据库名
    'DB_USER'    => 'root',  // 用户名
    'DB_PWD'    => '123', // 密码
    'DB_PORT'    => '3306',  // 端口
    'DB_PREFIX'    => 'think_', // 数据库表前缀
    'DB_FIELDTYPE_CHECK' => false,  // 是否进行字段类型检查
    'DB_FIELDS_CACHE'  => true,  // 启用字段缓存
    'DB_CHARSET'   => 'utf8',  // 数据库编码默认采用utf8
);
?>

(2)创建表:

CREATE TABLE `think_user` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(30) DEFAULT NULL,
  `pwd` varchar(20) DEFAULT NULL
) ENGINE=InnoDB;

(3) 执行数据插入操作在lib/Action下修改IndexAction.class.php文件,内容如下:

<?php
class IndexAction extends Action{
   function index(){
     public function index(){
       $data=array(
          "id"=>"1",
          "name="=>"liuning",
         "pwd"=>"asd123"
       );
       M("user")->add($data);
     }
   }
}
?>

(4)执行http://localhost/xmall/index.php,数据库中就会有新的记录生成;

PS:这里推荐几款本站的格式化美化工具,相信大家在以后的开发中能够用得上:

php代码在线格式化美化工具:
http://tools.jb51.net/code/phpformat

JavaScript代码美化/压缩/格式化/加密工具:
http://tools.jb51.net/code/jscompress

在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat

JSON代码格式化美化工具:
http://tools.jb51.net/code/json

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

sql代码在线格式化美化工具:
http://tools.jb51.net/code/sqlcodeformat

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

时间: 2016-05-16

thinkphp区间查询、统计查询与SQL直接查询实例分析

本文实例讲述了thinkphp区间查询.统计查询与SQL直接查询.分享给大家供大家参考.具体方法如下: 一.区间查询: 复制代码 代码如下: $data['id']=array(array('gt',4),array('lt',10));//默认关系是(and)并且的关系  //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )    $data['id']=array(array('gt',4),array('lt',10

thinkphp下MySQL数据库读写分离代码剖析

当采用原生态的sql语句进行写入操作的时候,要用execute,读操作要用query. MySQL数据主从同步还是要靠MySQL的机制来实现,所以这个时候MySQL主从同步的延迟问题是需要优化,延迟时间太长不仅影响业务,还影响用户体验. thinkphp核心类Thinkphp/library/Model.class.php 中,query 方法,调用Thinkphp/library/Think/Db/Driver/Mysql.class.php /** * SQL查询 * @access pub

对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析

ThinkPHP官网上曾有一段公告指出,在ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞,漏洞存在于ThinkPHP/Lib/Core/Model.class.php 文件 根据官方文档对"防止SQL注入"的方法解释(参考http://doc.thinkphp.cn/manual/sql_injection.html) 使用查询条件预处理可以防止SQL注入,没错,当使用如下代码时可以起到效果: $Model->where("id=%d and usern

thinkPHP框架中执行原生SQL语句的方法

本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $Model = D(); 或者 $Model = M(); $sql = "select * from `order`"; $voList = $Model->query($sql); 只是需要new一个空的模型继承Model中的方法. 注意query是查功能,execute是增删改

thinkPHP使用pclzip打包备份mysql数据库的方法

本文实例讲述了thinkPHP使用pclzip打包备份mysql数据库的方法.分享给大家供大家参考,具体如下: PclZip介绍 PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip.PKZIP);且能对此类类档案进行处理,包括产生压缩档.列出压缩档的内容以及解压缩档案等等 数据库备份是一件非常重要的事情,备份的方式也很多有的通过vps直接进行备份.有的通过phpmyadmin进行数据进行备份.小编觉得这些该麻烦了并且备份好的.sql文件过于太大占用了一定的空间.所以用p

thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)

本文实例讲述了thinkPHP连接sqlite3数据库的简单实现方法.分享给大家供大家参考,具体如下: 首先检查Thinkphp目录下\Lib\Driver\Db目录里有没有DbPdo.class.php 这个文件. 如果没有就去这里下吧:http://www.thinkphp.cn/extend/205.html 然后再确认打开了PHP对sqlite的扩展支持,extension=php_sqlite.dll 连接sqlite3数据库: 在config.php 文件中添加如下配置: 'DB_T

ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例

该实例通过ThinkPHP结合Ajax与mysql实现了客户端的通信功能,具体如下: 1.使用js的ajax局部刷新功能,每次刷新将数据库中读取出的新记录插入到页面的显示区域,代码如下: window.onload =setInterval(showWords1000);//加载完成之后开始执行刷新功能 function showWords()//刷新时被调用函数,实现ajax请求 { xmlHttp=GetXmlHttpObject();//从自定义的函数中获取请求对象. if (xmlHtt

thinkphp中多表查询中防止数据重复的sql语句(必看)

下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. select *, count(distinct name) from table group by name 结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1 最后一 项是多余的,不用管就行了 tp2.0手册   搜索连贯操作 可看到相关的资料 SELECT cat_id, COUNT(*) AS

Thinkphp实现MySQL读写分离操作示例

相对于其他方法实现MySQL的读写分离来说,采用Thinkphp框架实现MySQL的读写分离简单易用,其配置文件示例代码如下: 'DB_TYPE'=> 'mysql', 'DB_DEPLOY_TYPE' => 1, //开打支持多服务器 'DB_RW_SEPARATE'=>true,//数据库读写否分离 'DB_HOST'=> '192.168.11.101,192.168.11.102', 'DB_NAME'=>'test', 'DB_USER'=>'admin',

PHP实现的mysql读写分离操作示例

本文实例讲述了PHP实现的mysql读写分离操作.分享给大家供大家参考,具体如下: 首先mysql主从需配置好,基本原理就是判断sql语句是否是select,是的话走master库,否则从slave查 <?php /** * mysql读写分离 */ class db{ public function __construct($sql){ $chestr = strtolower(trim($sql)); //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库 if(s

php实现的mysqldb读写分离操作类示例

本文实例讲述了php实现的mysqldb读写分离操作类.分享给大家供大家参考,具体如下: /** * php MysqlDB 读写分离类 * ----------------------------------------------------- * $Source: http://code.ilaopo.net/php.class.mysqldb $ * $Author: Bevin Chen $ * $Email: bevin#lifa8.cn $ * $Date: 2009-10-10

基于mysql+mycat搭建稳定高可用集群负载均衡主备复制读写分离操作

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

使用PHP实现Mysql读写分离

本代码是从uchome的代码修改的,是因为要解决uchome的效率而处理的.这个思维其实很久就有了,只是一直没有去做,相信也有人有同样的想法,如果有类似的,那真的希望提出相关的建议. 封装的方式比较简单,增加了只读数据库连接的接口扩展,不使用只读数据库也不影响原代码使用.有待以后不断完善..为了方便,试试建立了google的一个项目:http://code.google.com/p/mysql-rw-php/希望给有需要的朋友带来帮助. PHP实现的Mysql读写分离主要特性:1.简单的读写分离

MySQL 读写分离实例详解

MySQL 读写分离 MySQL读写分离又一好办法 使用 com.mysql.jdbc.ReplicationDriver 在用过Amoeba 和 Cobar,还有dbware 等读写分离组件后,今天我的一个好朋友跟我讲,MySQL自身的也是可以读写分离的,因为他们提供了一个新的驱动,叫 com.mysql.jdbc.ReplicationDriver 说明文档:http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-replic

利用mycat实现mysql数据库读写分离的示例

什么是MyCAT 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术.NoSQL技术.HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 MyCAT关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL

yii2 数据库读写分离配置示例

开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.PHP),DSN( Data Source Name )是数据源名称,用于指定数据库信息.如下所示: return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbna

通过mysql-proxy完成mysql读写分离

环境:   192.168.100.210          192.168.100.104           192.168.100.208            192.168.100.106 说明:  210,104作为mysql数据库.      208作为mysql-proxy.      106作为测试机器. 相关软件下载:    lua        www.lua.org     mysql-proxy   http://mysql.cdpa.nsysu.edu.tw/Down

详解使用spring aop实现业务层mysql 读写分离

spring aop , mysql 主从配置 实现读写分离,接下来把自己的配置过程,以及遇到的问题记录下来,方便下次操作,也希望给一些朋友带来帮助. 1.使用spring aop 拦截机制现数据源的动态选取. import java.lang.annotation.ElementType; import java.lang.annotation.Target; import java.lang.annotation.Retention; import java.lang.annotation.