安装

composer require illuminate/database

laravel单独使用案例

增删改查-手动关闭数据库

<?php
date_default_timezone_set("PRC");
define("__UTILS__", __DIR__.DIRECTORY_SEPARATOR.'utils'.DIRECTORY_SEPARATOR);// 工具类、自定义函数存放目录
define("__CONFIG__", __DIR__.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR);// config配置文件存放目录
define("__RUNTIME__", getcwd().DIRECTORY_SEPARATOR.'runtime'.DIRECTORY_SEPARATOR);// 运行目录->log, cookie等
define("__RUNTIMELOG__", getcwd().DIRECTORY_SEPARATOR.'runtime'.DIRECTORY_SEPARATOR.'log'.DIRECTORY_SEPARATOR);// 运行目录->log, cookie等
require __CONFIG__.'config.php';
require __UTILS__.DIRECTORY_SEPARATOR.'common.php';// 在这里引入Composer的自动加载文件
require 'vendor/autoload.php';use Illuminate\Database\Capsule\Manager as Capsule;class DB {private static $connection = [];private static $instance = null;private static $dbConfig = null;private static $dbName = 'default';protected function __construct() {}// 数据库驱动初始化private static function getInstance($dbName = null): Object{if (self::$dbConfig === null) {self::$dbConfig = require __CONFIG__.'database.php';}if ($dbName === null || empty(self::$dbConfig[$dbName])) {$dbName = self::$dbName;}if (self::$instance === null) {self::$instance = new Capsule;self::$instance->addConnection(self::$dbConfig[$dbName], self::$dbName);// 设置全局静态可访问DBself::$instance->setAsGlobal();// 启动Eloquent (如果只使用查询构造器,这个可以注释)self::$instance->bootEloquent();}if (self::$dbName != $dbName) {self::$dbName = $dbName;if (empty(self::$connection[$dbName])) {self::$instance->addConnection(self::$dbConfig[$dbName], self::$dbName);self::$connection[$dbName] = true;}}return self::$instance->connection($dbName);}// 关闭链接public static function close($dbName = null) {if ($dbName === null || empty(self::$dbConfig[$dbName])) {$dbName = self::$dbName;}self::$instance->connection($dbName)->disconnect();self::$connection[$dbName] = null;if (self::$dbName == $dbName) {self::$dbName = 'default';}}// 关闭所有链接public static function closeAll() {foreach (self::$connection as $dbName => $item) {self::$instance->connection($dbName)->disconnect();}self::$connection = [];self::$dbName = 'default';}// 获取链接句柄public function connection($dbName) {return self::getInstance($dbName);}// 表操作public function table(...$param) {return self::getInstance()->table(...$param);
//        return call_user_func_array(array(self::getInstance(), 'table'), func_num_args());}// 增public static function insert(...$param) {return self::getInstance()->insert(...$param);}// 删public static function delete(...$param) {return self::getInstance()->delete(...$param);}// 改public static function update(...$param) {return self::getInstance()->update(...$param);}// 查public static function select(...$param) {return self::getInstance()->select(...$param);}// 运行一个通用语句public static function statement(...$param) {return self::getInstance()->statement(...$param);}
}// #######################
// 使用案例
// #######################
$res = [];
$connectRes = [];
$res[] = DB::table('table_1')->first(); // 默认连接 default$connectRes[] = DB::select('SELECT connection_id( ) AS id');$res[] = DB::connection('mysql_2')->table('table_2')->first(); // 连接2
$connectRes[] = DB::select('SELECT connection_id( ) AS id');DB::close(); // 关闭默认连接
DB::close('mysql_2');// 关闭mysql_2
$connectRes[] = DB::select('SELECT connection_id( ) AS id');
print_r($connectRes);

参考文档

  • laravel数据库使用基础
  • Laravel 8 中文文档

php单独使用laravel数据库 | laravel手动关闭数据库连接相关推荐

  1. laravel数据库相关操作

    SQL查询 配置好数据库连接后,可以使用 DB facade 运行查询.DB facade 为每种类型的查询提供了方法:select.update.insert.delete 和 statement. ...

  2. Laravel数据库迁移和填充(支持中文)

    写在前面 经常我们做项目都团队协作开发,每个人都在自己本地的数据库,如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题. 不仅如此,在线上部署的时候,也避免了手动导入 ...

  3. Laravel 数据库配置

    2019独角兽企业重金招聘Python工程师标准>>> @@设置默认连接数据库@@ 'default' => 'mysql', @一 配置database.php 默认为mys ...

  4. laravel数据库对象转为数组

    laravel数据库查询Model对象转为数组 我们在使用laravel的eloquent ORM 对数据库进行CRUD操作时,返回给我们的结果不是像TP(3.2版本)那样返回一个数组,而是返回一个对 ...

  5. php redis 切换数据库,Laravel Redis数据库切换以及laravel缓存/Session使用不同的Redis数据库 - Laravel学习网...

    Redis Select命令用于切换到指定的数据库,数据库索引号index用数字值指定,以0作为起始索引值. 比如我们要使用db10数据库,只需要使用如下命令即可: redis 127.0.0.1:6 ...

  6. JDBC 关闭数据库连接与自动提交

    // Jdbc关闭数据库连接时,会隐含一个提交事务的操作 private final static String DB_DRIVER = "oracle.jdbc.driver.Oracle ...

  7. Hibernate用Mysql数据库时链接关闭异常的解决

    在一个项目中,客户要求除操作系统外全部使用免费软件,因此我使用了Mysql 4.0作为数据库服务器,其JDBC驱动为3.0.9版本,在给客户安装后调试一切正常.可是到了第二天,只要一登录就提示&quo ...

  8. 启动和关闭oracle 实例,oracle实例和数据库启动与关闭.ppt

    <oracle实例和数据库启动与关闭.ppt>由会员分享,可在线阅读,更多相关<oracle实例和数据库启动与关闭.ppt(10页珍藏版)>请在人人文库网上搜索. 1.Orac ...

  9. EF Core 2.0中Transaction事务会对DbContext底层创建和关闭数据库连接的行为有所影响...

    数据库 我们先在SQL Server数据库中建立一个Book表: CREATE TABLE [dbo].[Book]([ID] [int] IDENTITY(1,1) NOT NULL,[BookNa ...

最新文章

  1. [翻译]在asp.net 2.0中使用WebParts
  2. python中统计计数的几种方法和Counter的介绍
  3. 神策数据多少含金量?PICOOC 有品帮你智能称量
  4. NTFS权限笔记 2017-12-4
  5. java-逻辑运算符
  6. IntelliJ IDEA内存优化最佳实践(转)
  7. 线程同步,线程不同步_同步多线程集成测试
  8. leetcode 976. 三角形的最大周长
  9. leetcode - 740. 删除与获得点数
  10. 【题解】luoguP2680运输计划
  11. 给DW2XLS源代码增加了同时导出多个dw的代码(合并多个dw)
  12. 时间序列学习(4):平稳性检验(单位根检验、ADF检验)
  13. 怎样设定目标(一)目标金字塔
  14. 面试题--精选Hadoop选择题
  15. 关于5G的理解:5G的发展历程、5G原理
  16. char、nchar、varchar、nvarchar的区别和特点
  17. win11找不到录音机
  18. c语言打开一个html文件路径,C语言文件处理 -C语言文件的打开和关闭
  19. RFID动物耳标识读器在科学养猪中的应用
  20. 2022渣硕秋招复盘

热门文章

  1. motan学习笔记 一 微博轻量级RPC框架Motan
  2. Vue中directive的使用
  3. 滤波、信号、数字与模拟、金字塔 一看就懂 教程
  4. Android手机不同频率的听力测试功能实现
  5. 数据结构实验报告:图的基本操作及应用
  6. 基于javaMail发送邮件的实现
  7. There were errors checking the update sites: SSLHandshakeException: sun.secu 202007亲测有用
  8. krpano 常用标签
  9. php拓展so,PHP扩展开发之动态加载so模块与静态重编译PHP(上)-Go语言中文社区...
  10. Matlab simulink,永磁直驱海上风电场仿真模型含,永磁直驱矢量控制,集群电流源等效,海上风电场结构