1、数据库设置

  在项目D:\workspaces\phpDemo01\helloworldProject\Common\Conf\config.php配置:

<?php
return array(
//'配置项'=>'配置值'
//'URL_HTML_SUFFIX' => 'abc', // URL伪静态后缀设置 //使得页面底部显示跟踪信息
'SHOW_PAGE_TRACE' => true, //设置默认分组
'DEFAULT_MODULE' => 'Home', // 默认模块
//允许访问的分组信息
//'MODULE_ALLOW_LIST' => array('Home','Admin'), //设置Smarty模板引起使用
//'TMPL_ENGINE_TYPE' => 'Smarty', // 默认模板引擎 //为Smarty配置相关配置
//'TMPL_ENGINE_CONFIG' => array(
//'left_delimiter' => '<@@@',
//'right_delimiter' => '@@@>',
// ), /* 数据库设置 */
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'db_test', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 't_', // 数据库表前缀
'DB_PARAMS' => array(), // 数据库连接参数
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志
'DB_FIELDS_CACHE' => true, // 启用字段缓存
'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8
);

2、新建Controller类

  D:\workspaces\phpDemo01\helloworldProject\Home\Controller\StuController.class.php

<?php
//命名空间
namespace Home\Controller;
use Think\Controller; class StuController extends Controller{
//列表展示
function showlist(){
echo "show stuList";
//$stu = new \Model\StuModel();
//dump($stu);
$obj = D('stu'); //实例化Model对象,同时操作"t_stu"数据表
//该方式允许我们即使不创建UserModel类,也可以操作t_stu表
//dump($obj); $stuList = $obj -> select();
$this -> assign("stuList", $stuList);
$this -> display();
}
}

3、模板

  D:\workspaces\phpDemo01\helloworldProject\Home\View\Stu\showlist.html

<!DOCTYPE html>
<html>
<head>
<title>stu/showlist.html</title>
</head>
<body>
<h2>stu/showlist.html</h2>
<?php
echo "<table border = 1 cellspacing = '0' cellpadding = '10'>";
echo "<th>编号</th><th>姓名</th><th>年龄</th><th>操作</th>";
for($i = 0; $i < count($stuList); $i++) {
//echo "No" . $i;
echo "<tr>";
echo '<td>'.$stuList[$i]['id'].'</td>';
echo '<td>'.$stuList[$i]['name'].'</td>';
echo '<td>'.$stuList[$i]['age'].'</td>';
echo '<td><a href = "del.php?id='.$row['id'].'">删除</a>/<a href = "update.php?id='.$row['id'].'">修改</a></td>';
echo "</tr>";
}
?>
</body>
</html>

4、测试

  浏览器输入:http://web.abc123.com/helloworldProject/index.php/Home/stu/showlist,结果:

5、thinkphp数据查询总结

<?php
//命名空间
namespace Home\Controller;
use Think\Controller; class StuController extends Controller{
//列表展示
// function showlist(){
// echo "show stuList";
// //$stu = new \Model\StuModel();
// //dump($stu);
// $obj = D('stu'); //实例化Model对象,同时操作"t_stu"数据表
// //该方式允许我们即使不创建UserModel类,也可以操作t_stu表
// //dump($obj); // $stuList = $obj -> select();
// $this -> assign("stuList", $stuList);
// $this -> display();
// } // function showlist(){
// echo "StuController getStuById"; // $obj = D('stu'); //实例化Model对象,同时操作"t_stu"数据表
// //该方式允许我们即使不创建UserModel类,也可以操作t_stu表 // $stuList = $obj -> select(1);
// $this -> assign("stuList", $stuList);
// $this -> display();
// } // function showlist(){
// echo "StuController getStuById"; // $obj = D('stu'); //实例化Model对象,同时操作"t_stu"数据表
// //该方式允许我们即使不创建UserModel类,也可以操作t_stu表 // $stuList = $obj -> select("1,2");
// $this -> assign("stuList", $stuList);
// $this -> display();
// } function showlist(){
echo "StuController getStuByName"; $obj = D('stu'); //实例化Model对象,同时操作"t_stu"数据表
//该方式允许我们即使不创建UserModel类,也可以操作t_stu表
$obj -> where("name like '%s%'");
$obj -> limit(0,2);
$obj -> field('id,name,age');
$obj -> order('id desc'); // SELECT `age`,count(*) FROM `t_stu` GROUP BY age
//$obj -> field('age,count(*)');
//$obj -> group("age"); $obj -> having('age >= 10');
// SELECT `id`,`name`,`age` FROM `t_stu` WHERE ( name like '%s%' ) HAVING age >= 10 ORDER BY id desc LIMIT 0,2 $stuList = $obj -> select();
$this -> assign("stuList", $stuList);
$this -> display();
}
}

6、添加操作

<?php
//命名空间
namespace Home\Controller;
use Think\Controller; class StuController extends Controller{
// function addStu() {
// echo "add stu"; // $array = array(
// 'name' => 赵敏,
// 'age' => 25
// ); // $obj = D('stu');
// $id = $obj -> add($array);//主键返回
// echo $id;
// // INSERT INTO `t_stu` (`name`,`age`) VALUES ('赵敏','25')
// } function addStu() {
echo "add stu"; $obj = D('stu');
$obj -> name = '周芷若';
$obj -> age = 20; $id = $obj -> add();//主键返回
echo $id;
// INSERT INTO `t_stu` (`name`,`age`) VALUES ('周芷若','20')
}
}

7、修改操作

<?php
//命名空间
namespace Home\Controller;
use Think\Controller; class StuController extends Controller{function updateStu() {
echo "update stu"; // 数据修改必须设置条件:where()或主键id值,二选一即可
$obj = D('stu');
$obj -> age = 20; $obj -> where("name = '赵敏'");
$result = $obj -> save();//save()方法返回受影响的记录条数
echo $result;
// UPDATE `t_stu` SET `age`='20' WHERE ( name = '赵敏' )
}
}

php(三)使用thinkphp操作数据库的更多相关文章

  1. FastAPI 学习之路(三十三)操作数据库

    通过创建pydantic模型进行验证提交数据 from pydantic import BaseModel class UserBase(BaseModel): email: str class Us ...

  2. thinkphp操作数据库

    1.实现or操作: $where=array( 'city'=>array('like',array('%'.$_GET['city'].'%')); 'hangye'=>array('l ...

  3. php三种方式操作mysql数据库

    php可以通过三种方式操作数据库,分别用mysql扩展库,mysqli扩展库,和mysqli的预处理模式分别举案例加以说明 1.通过mysql方式操作数据库 工具类核心代码: <?php cla ...

  4. 39.C语言操作数据库

    一.准备工作: sqlite3工具集:链接:https://pan.baidu.com/s/1mjufXZa 密码:2ui7 安装步骤: 打开如下文件夹,找到sqlite3.dll,并放入系统目录 2 ...

  5. ThinkPHP之数据库操作

    Model文件位置 ThinkPHP使用的是MVC架构,所以我们我们在操作数据库时,首先需要创建自己的Model类. 在每个模块下有个Model文件夹,我们可以将Model类放置在该文件夹下.如果多个 ...

  6. thinkphp 对数据库的操作

    查看ThinkPHP完全开发手册3.1 首先编辑配置文件 thinkphp这个数据库就不乱改了 昨天新建了一个 confluence(utf8)数据库 所以就用它学习一下吧,因为就只建立了一个数据库, ...

  7. JavaEE系列之(三)JDBC操作MySQL数据库

    一.JDBC简介        JDBC(Java Data Base Connectivity)java数据库连接        SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库 ...

  8. JDBC操作数据库的三种方式比较

    JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...

  9. SQL Server -- 回忆笔记(三):ADO.NET之C#操作数据库

    SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库 1.连接数据库 (1)创建连接字符串: 使用windows身份验证时的连接字符串: private string conStr= ...

随机推荐

  1. 2017-2018_OCR_papers汇总

    2017-2018_OCR_papers 1. 简单背景 基于深度的OCR方法的发展历程 近年来OCR发展热点与趋势 检测方法按照主题进行分类 2. ECCV + CVPR + ICCV +AAAI ...

  2. [NOIP赛前冲刺第一期]初赛基础知识归纳

    关于计算机 1.CPU 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit).它的功能 ...

  3. 运输计划NOIP2015Day2T3

    运输计划 题目描述 公元 2044 年,人类进入了宇宙纪元. L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条 航道连通了 L 国的所有星球. 小 P 掌管一 ...

  4. python & mysql 操作(compare_sum_fee)

    [1]源码 工作中涉及的python工具源码实现 费用比较工具源码: #!/usr/bin/python3 #coding = utf-8 import time, sqlite3, datetime ...

  5. Redis做分布式锁

    在分布式系统中,在接口没有保证幂等性或者在某些场景下相同的服务需要有且仅有一个服务执行的情况下,需要使用分布式锁来保证系统的安全执行. 分布式锁的执行顺序,有服务A,分别部署了三个节点为A1.A2.A ...

  6. rabbitMq及安装、fanout交换机-分发(发布/订阅)

    <dependency>            <groupId>com.rabbitmq</groupId>            <artifactId& ...

  7. 介绍Kubernetes监控Heapster

    什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS,Kubernetes有个出名的监控agent—cAdvisor.在每个kubern ...

  8. springmvc整合swagger

    前言 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...

  9. Josephina and RPG HDU - 4800

    A role-playing game (RPG and sometimes roleplaying game) is a game in which players assume the roles ...

  10. python模块的使用

    这位老师的文章说的很清楚:模块 这里我只说一下,我在使用过程中的一些注意事项. 比如,我创建了一个包,该包下面有两个模块:model1和model2,如下图 那么我们再python中怎样去使用自己创建 ...