esol/db

安装: 270

依赖者: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v3.4.41 2021-05-20 16:48 UTC

README

这个库允许查询POSTGRESQL或MYSQL数据库

  • 从SELECT查询中检索数组
  • 执行INSERT、UPDATE、DELETE或其他不需要返回的SQL指令

安装

通过Composer安装

composer require esol/db

在Esol/Db composer.json中,在post-package-install和post-package-update事件中添加脚本"Esol\Db\EsolDbConfigFile::initEsolDbConfigFile"。

"scripts": {
    "post-package-install": [
         "Esol\\Db\\EsolDbConfigFile::initEsolDbConfigFile"
    ],
    "post-package-update": [
         "Esol\\Db\\EsolDbConfigFile::initEsolDbConfigFile"
    ]
}

在php.ini中要激活的PHP扩展

Esol/Db使用mysqli和/或pgsql扩展

对于MySQL

Linux

extension=mysqli

Windows

extension=php_mysqli.dll

对于PostgreSQL

Linux

extension=pgsql

Windows

extension=php_pgsql.dll

配置

在{project_dir}/config/packages/prod/esolDb.yml文件中可以找到指向要操作的数据库的参数

配置以YAML格式书写,形式如下

parameters:
    pgsqlTest:
        driver: pgsql
        host: db4free.net
        port: '5432'
        name: esoldb
        user: esoldb
        password: 4GwpEudP47s5qGD

##V3.4.30 识别项目根目录下的.env文件,每个环境变量的名称必须为esolDb_数据库名称_参数名称,例如

esolDb_pgsqlTestDb_driver=pgsql
esolDb_pgsqlTestDb_host=db4free.net
esolDb_pgsqlTestDb_port='5432'
esolDb_pgsqlTestDb_name=esoldb
esolDb_pgsqlTestDb_user=esoldb
esolDb_pgsqlTestDb_password=4GwpEudP47s5qGD

查询文件

在./Resources/sql/目录中放置要执行的sql文件。

基本用法

SELECT

$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/select.sql");
$arrayData = $esolDb->getArrayData();

INSERT、UPDATE、DELETE

$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/insert.sql");
$esolDb->execute();

在SQL指令中传递参数

ESOL/DB将替换SQL中的所有{}中的指令

可以使用以下方式传递参数

  • 使用Symfony\Component\HttpFoundation\Request
$request = new Request();
$request->query->set("ORDER_BY", "name");
$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/select.sql");
$esolDb->setASqlrVars($request);
$arrayData = $esolDb->getArrayData();

或直接将Request传递给getArrayData

$arrayData = $esolDb->getArrayData($request);
  • 使用键表
$array = array(
    "value1" => "BMOPQ", 
    "value2" => "JRYOM"
);
$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/select.sql");

$esolDb->setASqlrVars($array); $arrayData = $esolDb->getArrayData();

OU directement en passant le tableau en paramètre de getArrayData

$arrayData = $esolDb->getArrayData($array);



- En utilisant la fonction publique setASqlrVars passant paramètre par paramètre 

$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/select.sql"); $esolDb->setASqlrVars('numPo', $rowData['id_po']); $arrayData = $esolDb->getArrayData();


### récupérer la requète SQL au format String
$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/select.sql");
$sqlr = $esolDb->getSqlr();


## Third Party Packages

Esol/SyTools

## About

### Submitting bugs and feature requests

Cedric DELAMARRE - <cdelamarre@e-solutions.tm.fr>

### Author

Cedric DELAMARRE - <cdelamarre@e-solutions.tm.fr>

### License

### Acknowledgements