初识thinkphp(4)

这次内容是数据库的使用方法

因为在第一章讲过就是拿index这个文件写的数据库的访问,这次实验我使用文件是系统默认的首页

配置的内容也在那里有提过就不重发戳图了。

数据库按照手册上的建议建了3行的内容(使用的SQLyog来进行连接的)

现在想想在配置databas.php这个文件时候有这么一段

当时想着这个有什么意义,我想这样大概能分模块引用数据库,不至于使得结构混乱

要访问数据库,要加上

use think\Db

接下来显示进行增删改查

<?php
namespace app\index\controller;

use think\Controller;
use think\Db;

class Index extends Controller
{
    public function index()
    {
        $data = Db::execute(‘INSERT into think_data (id, data, status) value(7, "sijidou4", 1)‘);
        var_dump($data);
        $data = Db::execute(‘UPDATE  think_data set data = "四季豆" where id = 4‘);
        var_dump($data);
        $result = Db::query(‘SELECT * from think_data‘);
        dump($result);
        echo "<br/>";
        $data = DB::execute(‘DELETE from think_data where id = 7‘);
        $result = Db::query(‘SELECT * from think_data‘);
        dump($result);
        echo "hello world";
        return ;
    }
}

execute执行操作,如果用var_dump将结果字符串输出,会显示“int()”之类的

而query操作会使结果返回一个数组,即可以显示表里字段的内容。

这里的代码可以精简下去掉execute操作(因为该操作不需要变量,也不需要输出),代码如下

<?php
namespace app\index\controller;

use think\Controller;
use think\Db;

class Index extends Controller
{
    public function index()
    {
        Db::execute(‘INSERT into think_data (id, data, status) value(7, "sijidou4", 1)‘);
        Db::execute(‘UPDATE  think_data set data = "四季豆呀" where id = 4‘);
        $result = Db::query(‘SELECT * from think_data‘);
        dump($result);
        echo "<br/>";
        Db::execute(‘DELETE from think_data where id = 7‘);
        $result = Db::query(‘SELECT * from think_data‘);
        dump($result);
        echo "hello world";
        return ;
    }
}

学到了一句SQL命令

// 清空数据表
Db::execute(‘TRUNCATE table think_data‘);

可以用DB::connect(数据库类型//账号:密码@地址:端口/库名#编码)来重新打开新的数据库。

可以用这种方式来表示打开不同数据库,且比较方便。

$db1 = Db::connect(‘db1‘);
$db2 = Db::connect(‘db2‘);
$db1->query(‘select * from think_data where id = 1‘);
$db2->query(‘select * from think_data where id = 1‘);

用[]来实现动态绑定,保护安全

例如

Db::execute(‘INSERT into think_data VALUES(?, ? ,?)‘,[7,‘aaa‘,1]);

Db::execule(‘INSERT into think_data VALUES(:id, :data, :status),[‘id‘ => 7, ‘data‘ => ‘aaa‘, ‘status‘ => 1]‘);

thinkphp5还提供一种查询构造器,即把每一步用函数来表示,并每个步骤间用->相连

//该代码来着官方文档(本人比较喜欢上面的原生态代码)// 插入记录
Db::table(‘think_data‘)
    ->insert([‘id‘ => 18, ‘name‘ => ‘thinkphp‘, ‘status‘ => 1]);

// 更新记录
Db::table(‘think_data‘)
    ->where(‘id‘, 18)
    ->update([‘name‘ => "hello"]);

// 查询数据
$list = Db::table(‘think_data‘)
    ->field(‘name,email‘)
    ->where(‘id‘, 18)
    ->select();

// 删除数据
Db::table(‘think_data‘)
    ->where(‘id‘, 18)
    ->delete();

注意下用select()进行查询,必须把select放在最后,之前放要进行select的对象的信息。

最先提到prefix这个设置表开头前缀的在这里可以有如下作用

Db::table(‘think_data‘) 等价于Db::name(‘data‘);

内容不多,今天就到这吧。

 

原文地址:https://www.cnblogs.com/sijidou/p/9175544.html

时间: 2024-10-14 10:41:51

初识thinkphp(4)的相关文章

初识ThinkPHP

随时回来更新进度... 工程目录下设定入口文件 index.php: 1 <?php 2 // 检测PHP环境 3 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); 4 // 引入ThinkPHP入口文件 5 require ('./ThinkPHP/ThinkPHP.php'); 6 // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false 7 define('APP_DEB

ThinkPHP学习笔记(一)----初识ThinkPHP

在做微信开发的时候原本使用来yii框架,后续觉得yii虽然功能强大使用方便,但是整个框架太大了,不适合一些轻量级的开发:这个时候发现thinkphp这个框架,框架本身很小,只有几M,但麻雀虽小,但五脏俱全:目前有需要用到的功能think都支持,而且后者也支持自动生成代码,相比yii更灵活,而且这个东东还是国产的,各种api文档都有中文的,这对与楼主这种英语很菜的代码狗来说也算是一种福利. 扯了这么多,直接上一碗代码,让大家尝尝thinkphp的味道喽.... 一.下载基本框架 官网地址:http

初识thinkphp(5)

这次主要内容是模型的基本操作 0x01:什么是模型 通过手册的阅览,笼统的说就是,把打开数据库等操作在另一个php文件中进行 以及对变量的规则具体细节,查询,取值等操作进行定义,方便在控制器中直接使用. 0x02:模型的使用 在index目录下创建与controller同级的目录model 创建php模型文件,并调用think\Model文件 <?php namespace app\index\model; use think\Model; class User extends Model{ p

ThinkPHP框架快速开发网站

使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助,那就更好了挖. 以前用PHP做过一个很蹩脚的网站,为什么这么说呢,因为写的全是死代码.做完以后觉得实在是累,前端要div+css,js 后端要php,mysql,这么多东西要弄,十分头疼.所以,在接到做网站的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟以前一样那么累了. 我选择的是PHP

使用ThinkPHP框架高速开发站点(多图)

使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助,那就更好了挖. 曾经用PHP做过一个非常蹩脚的站点,为什么这么说呢,由于写的全是死代码.做完以后认为实在是累,前端要div+css,js 后端要php,mysql,这么多东西要弄,十分头疼.所以,在接到做站点的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟曾经一样那么累了. 我选择的是PH

使用ThinkPHP框架高速发展网站(多图)

使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助,那就更好了挖. 曾经用PHP做过一个非常蹩脚的站点,为什么这么说呢,由于写的全是死代码.做完以后认为实在是累,前端要div+css,js 后端要php,mysql,这么多东西要弄,十分头疼.所以,在接到做站点的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟曾经一样那么累了. 我选择的是PH

ThinkPHP之初识

ThinkPHP 轻量级框架,国人框架,入门容易 thinkphp 3.2版本 'URL_CASE_INSENSITIVE'  =>  true,   // 默认false 表示URL区分大小写 true则表示不区分大小写,这句有BUG 解压tp打开可以看到下图: 其中ThinkPHP是核心,index.php是入口文件 点开ThinkPHP如下图: 点开Conf可以看到下图: convention.php是核心配置文件,基本上所有的配置都在其中. library是核心资源库,library中的

thinkPHP框架之初识篇

安装框架 XAMPP:XML.Apache.MySQL.PHP.PERL LAMP : Linux.Apache.MySQL.PHP LNMP :Linux.Ningx.MySQL.PHP J2EE : 贵 linux命令 1.关闭系统自带apache sudo /usr/sbin/apachectl stop 2.查看Apache系统进程 ps -ef | grep httpd 3.查看MySQL进程 ps -ef | grep mysql 4.查看PHP版本 php -version 5.显

初识Python,望君多多关照

在学习Python之前,我们接触过数据结构和网页制作.前者让我们学习如何把C语言运用的更加整齐规范,而后者让我们亲身学习如何运用所学,制作一个静态网页.通过这些课程的学习,让我对C语言产生了比较大的压力,以至于对编程.对这学期的Python课程都有一种如临大敌的感觉. 但是真的学习了这门课程,体会了编码过程中的一些固定运用方法和套路之后,也许过程中对这门课程隐隐约约产生了一点点朦胧的感觉,仿佛他也并没有想象中的那么困难,起码现在的学习让我认为,他可能没有C语言那么繁琐和麻烦.当然,以一个初学者的