PHP tp5中使用原生sql查询代码实例

注意事项:

1.先在database.php中配置好数据库

2.只要是数据库操作必须引用 use/think/Db;严格区分大小写。

下面是方法:

 public function hello5()
  {
    //所有查询必须 use/think/Db;
    /* 1 配置数据库
     * 2 使用DB 命名空间
     *
     */ 

    /****************tp5中使用原生语句*******************/
    //query 用于查询 其他的用execute

    // 插入记录
//     $result = Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (1, "456",1)');
//     dump($result);
    // 更新记录
//    $result = Db::execute('update sb_ad set ad_name = "framework" where ad_id = 1 ');
//    dump($result);
    // 查询数据
//    $result = Db::query('select * from sb_ad where ad_id = 1');
//    print_r($result);
    // 删除数据
//     $result = Db::execute('delete from sb_ad where ad_id = 2 ');
//     dump($result);
    //其它操作
    // 显示数据库列表
//    $result = Db::query('show tables from tpshop1');
//    print_r($result);
//     清空数据表
//     $result = Db::execute('TRUNCATE table sb_ad');
//     dump($result);

    /**************多个数据库操作************/
    //在application/config.php中加入配置
    //例子:
    /*
     * // 数据库配置1
        'db2'  => [
          // 数据库类型
          'type'   => 'mysql',
          // 服务器地址
          'hostname' => '127.0.0.1',
          // 数据库名
          'database' => 'tpshop2',
          // 数据库用户名
          'username' => 'root',
          // 数据库密码
          'password' => '',
          // 数据库连接端口
          'hostport' => '',
          // 数据库连接参数
          'params'  => [],
          // 数据库编码默认采用utf8
          'charset' => 'utf8',
          // 数据库表前缀
          'prefix'  => 'tp_',
        ],
        依次类推
     */
    //connect为链接数据库
//     $result = Db::connect('db2')->query('select * from sb_ad where ad_id = 1');
//     print_r($result);

//     $result = Db::connect('db3')->query('select * from sb_ad where ad_id = 1');
//     print_r($result);  

//    $db1 = Db::connect('db1');获取数据库对象
//    $db2 = Db::connect('db2');获取数据库对象然后再操作
//    $db1->query('select * from sb_ad where ad_id = 1');
//    $db2->query('select * from sb_ad where ad_id = 1');

    /*****参数绑定******/
//    Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (?, ?, ?)', [3, 'thinkphp', 1]);
//    $result = Db::query('select * from sb_ad where ad_id = ?', [3]);
//    print_r($result);
    /******命名占位符绑定*****/
//    Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (:ad_name, :ad_content, :status)', ['ad_name' => 11, 'ad_content' => 'thinkphp', 'status' => 1]);
//    $result = Db::query('select * from sb_ad where ad_id=:id', ['id' => 10]);
//    print_r($result);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • tp5.1 框架查询表达式用法详解

    本文实例讲述了tp5.1 框架查询表达式用法.分享给大家供大家参考,具体如下: 查询表达式 查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式: where('字段名','表达式','查询条件'); whereOr('字段名','表达式','查询条件'); 5.1还支持新的查询方法 whereField('表达式','查询条件'); whereOrField('表达式','查询条件'); Field使用字段的驼峰命名方式. 表达式不分大小写,支持的查询

  • tp5.1 框架join方法用法实例分析

    本文实例讲述了tp5.1 框架join方法用法.分享给大家供大家参考,具体如下: JOIN方法用于根据两个或多个表中的列之间的关系,从这些表中查询数据.join通常有下面几种类型,不同类型的join操作会影响返回的数据结果. INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行 LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 FULL JOIN: 只要其中一个表中存在匹配

  • TP5框架实现自定义分页样式的方法示例

    本文实例讲述了TP5框架实现自定义分页样式的方法.分享给大家供大家参考,具体如下: 1. 在extend\目录下创建page目录,在page目录下创建Page.php文件,将以下代码放入文件中. <?php namespace page; use think\Paginator; class Page extends Paginator { //首页 protected function home() { if ($this->currentPage() > 1) { return &q

  • TP5框架安全机制实例分析

    本文实例讲述了TP5框架安全机制.分享给大家供大家参考,具体如下: 防止sql注入 1.查询条件尽量使用数组方式,具体如下: $wheres = array(); $wheres['account'] = $account; $wheres['password'] = $password; $User->where($wheres)->find(); 2.如果必须使用字符串,建议使用预处理机制,具体如下: $User = D('UserInfo'); $User->where('acco

  • tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】

    本文实例讲述了tp5.1 框架数据库常见操作.分享给大家供大家参考,具体如下: tp5.1--数据库添加操作 使用 Db 类的 insert方法向数据库提交数据 $data = ['foo' => 'bar', 'bar' => 'foo']; Db::name('user')->insert($data); insert方法添加数据成功返回添加成功的条数,通常情况返回 1 或者使用data方法配合insert使用. $data = ['foo' => 'bar', 'bar' =

  • tp5.1框架数据库子查询操作实例分析

    本文实例讲述了tp5.1框架数据库子查询操作.分享给大家供大家参考,具体如下: 首先构造子查询SQL,可以使用下面三种的方式来构建子查询. 使用fetchSql方法 fetchSql方法表示不进行查询而只是返回构建的SQL语句,并且不仅仅支持select,而是支持所有的CURD查询. $subQuery = Db::table('think_user') ->field('id,name') ->where('id', '>', 10) ->fetchSql(true) ->

  • tp5.1 框架路由操作-URL生成实例分析

    本文实例讲述了tp5.1 框架路由操作-URL生成.分享给大家供大家参考,具体如下: ThinkPHP支持路由URL地址的统一生成,并且支持所有的路由方式,以及完美解决了路由地址的反转解析,无需再为路由定义和变化而改变URL生成. 如果你开启了路由延迟解析,需要生成路由映射缓存才能支持全部的路由地址的反转解析. URL生成使用 \think\facade\Url::build() 方法或者使用系统提供的助手函数url(),参数一致: Url::build('地址表达式',['参数'],['URL

  • tp5.1 框架数据库高级查询技巧实例总结

    本文实例讲述了tp5.1 框架数据库高级查询技巧.分享给大家供大家参考,具体如下: 快捷查询 快捷查询方式是一种多字段相同查询条件的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如: Db::table('think_user') ->where('name|title','like','thinkphp%') ->where('create_time&update_time','>',0) -&

  • PHP tp5中使用原生sql查询代码实例

    注意事项: 1.先在database.php中配置好数据库 2.只要是数据库操作必须引用 use/think/Db;严格区分大小写. 下面是方法: public function hello5() { //所有查询必须 use/think/Db; /* 1 配置数据库 * 2 使用DB 命名空间 * */ /****************tp5中使用原生语句*******************/ //query 用于查询 其他的用execute // 插入记录 // $result = Db

  • SpringDataJPA原生sql查询方式的封装操作

    工具类相关代码 使用到了apache的map2bean工具类 导入方法 <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.3</version> </dependency> import org.apache.commons.beanutils.Bea

  • 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是增删改

  • django中使用原生sql语句的方法步骤

    raw # row方法:(掺杂着原生sql和orm来执行的操作) res = CookBook.objects.raw('select id as nid from epos_cookbook where id>%s', params=[1, ]) print(res.columns) # ['nid'] print(type(res)) # <class 'django.db.models.query.RawQuerySet'> # 在select里面查询到的数据orm里面的要一一对应

  • django执行原生SQL查询的实现

    目录 执行原生 SQL 查询 1.执行原生查询 1.1 普通查询 1.2 将查询字段映射为模型字段 1.3 索引查询 1.4 将参数传给 raw() 2.直接执行自定义 SQL 2.1 指定连接数据库 执行原生 SQL 查询 Django 允许你用两种方式执行原生 SQL 查询: 你可以使用 Manager.raw() 来 执行原生查询并返回模型实例. 或者完全不用模型层 直接执行自定义 SQL. 1.执行原生查询 管理器方法 raw() 能用于执行原生 SQL 查询,就会返回模型实例: Man

  • MySQL中一条SQL查询语句是如何执行的

    目录 前言 1. 处理连接 1.1 客户端和服务端的通信方式 1.1.1 TCP/IP协议 1.1.2 UNIX域套接字 1.1.3 命名管道和共享内存 1.2 权限验证 1.3 查看MySQL连接 2. 解析与优化 2.1 查询缓存 2.2 解析器 & 预处理器(Parser & Preprocessor) 2.2.1 词法解析 2.2.2 语法分析 2.2.3 预处理器 2.3 查询优化器(Optimizer)与查询执行计划 2.3.1 什么是查询优化器? 2.3.2 优化器究竟做了什

  • 分析mysql中一条SQL查询语句是如何执行的

    目录 一.MySQL 逻辑架构概览 二.连接器(Connector) 三.查询缓存(Query Cache) 四.解析器(Parser) 五.优化器(Optimizer) 六.执行器 七.小结 一.MySQL 逻辑架构概览 MySQL 最重要.最与众不同的特性就是它的可插拔存储引擎架构(pluggable storage engine architecture),这种架构的设计将查询处理及其他系统任务和数据的存储/提取分离开来.来看官网的解释: The MySQL pluggable stora

  • Hibernate hql查询代码实例

    本文研究的主要是Hibernate hql查询的相关内容,具体如下. HQL介绍 Hibernate语言查询(Hibernate Query Language,HQL)它是完全面向对象的查询语句,查询功能非常强大:具备多态.关联等特性,HQL查询也是Hibernate官方推荐使用的查询方法. 下面我们通过一个案例我分析相关查询方法 Classes.java: public class Classes { /*班级ID*/ private int id; /*班级名称*/ private Stri

  • Java中JDBC实现动态查询的实例详解

    一 概述 1.什么是动态查询? 从多个查询条件中随机选择若干个组合成一个DQL语句进行查询,这一过程叫做动态查询. 2.动态查询的难点 可供选择的查询条件多,组合情况多,难以一一列举. 3.最终查询语句的构成 一旦用户向查询条件中输入数据,该查询条件就成为最终条件的一部分. 二 基本原理 1.SQL基本框架 无论查询条件如何,查询字段与数据库是固定不变的,这些固定不变的内容构成SQL语句的基本框架,如 select column... from table. 2.StringBuilder形成D

  • Javascript原生ajax请求代码实例

    这篇文章主要介绍了Javascript原生ajax请求代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 class Ajax{ constructor(url, method, data, callback_suc, callback_err, callback_run){ this.RT = true;//默认为异步请求 this.url = url; this.method = method || "POST";

随机推荐