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. Catch That Cow (BFS广搜)

    问题描述: Farmer John has been informed of the location of a fugitive cow and wants to catch her immedia ...

  2. VC6中函数点go to definition报告the symbol XXX is undefined

    删除Debug中的bsc文件,再重建所有文件即可,在该函数处点击go to definition会提示重建.bsc文件,如果不行,多操作几次.

  3. Hadoop大数据学习视频教程 大数据hadoop运维之hadoop快速入门视频课程

    Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理适用人群有一定Java基础的学生或工作者课程简介 Hadoop是一个能够对大量数据进 ...

  4. VDSR

    提出SRCNN问题 context未充分利用 Convergence 慢 Scale Factor 训练指定fator的模型再重新训练其他fator的模型低效 context 对于更大的scale-f ...

  5. dos模式下切换电脑用户

    启用管理员运行dos 然后输入net user adminstrator /active.yes 然后点击打开按钮 就可以切换电脑用户了

  6. Matlab学以致用--模拟os任务装载情况

    2012-06-08 21:26:42 用matlab来建模,仿真不同时刻os task在队列中的装载情况.输入参数如下 作为初学者,M文件写的有点长.能实现功能就算学以致用了. clear;clc ...

  7. 怎么批量删除qq空间说说

    1.打开自己的QQ空间 - 说说——右击说说审查元素,打开审查元素.或者直接按f12也可以. 2.在这里我们看到很多分类 3.点击 Console,进入Console项 4.粘贴删除说说的代码,代码为 ...

  8. shell编辑器vi的常用命令

    一:翻页 ctrl+u向上翻半页 ctrl+f向上翻一页 ctrl+d 向下翻半页 ctrl+b 向下翻一页 二:移动光标指令 0: 光标移至当前行首 $: 光标移至当前行尾 三:常用插入.删除指令 ...

  9. hive的常见判断与抽样函数

    .If函数:if和case差不多,都是处理单个列的查询结果 语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T ...

  10. 基于ROS的人脸识别

    #!/usr/bin/env python # -*- coding: utf-8 -*- import rospy import cv2 import numpy as np from sensor ...