PHPackages                             esol/db - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. esol/db

ActiveSymfony-bundle[Testing &amp; Quality](/categories/testing)

esol/db
=======

v3.4.41(4y ago)1274MITPHPPHP &gt;=5.5.0CI failing

Since Oct 9Pushed 4y ago1 watchersCompare

[ Source](https://github.com/cdelamarre/EsolDb)[ Packagist](https://packagist.org/packages/esol/db)[ Docs](http://www.e-solutions.tm.fr/)[ RSS](/packages/esol-db/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (5)Versions (22)Used By (0)

Cette librairie permet d'interroger des bases de données POSTGRESQL ou MYSQL:

- de recuperer un array à partir d'une requete SELECT
- d'executer un INSERT, UPDATE, DELETE ou toute autre instruction SQL ne nécessitant pas de retour.

Installation
============

[](#installation)

insallation via Composer
------------------------

[](#insallation-via-composer)

```
composer require esol/db

```

In Esol/Db composer.json, add script "Esol\\Db\\EsolDbConfigFile::initEsolDbConfigFile" in post-package-install &amp; post-package-update event.

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

```

Extensions php à activer dans php.ini
-------------------------------------

[](#extensions-php-à-activer-dans-phpini)

Esol/Db utilise les extensions mysqli et/ou pgsql

### Pour Mysql

[](#pour-mysql)

#### Linux

[](#linux)

extension=mysqli

#### Windows

[](#windows)

extension=php\_mysqli.dll

### Pour Pgsql

[](#pour-pgsql)

#### Linux

[](#linux-1)

extension=pgsql

#### Windows

[](#windows-1)

extension=php\_pgsql.dll

Configuration
-------------

[](#configuration)

Dans le fichier {project\_dir}/config/packages/prod/esolDb.yml on trouve les paramètres vers la base de donnée dans laquelle on veut agir

La configuration s'inscrit dans un format YAML sous la forme :

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

```

\##V3.4.30 Prise en compte du .env à la racine du projet sous la forme Chaque nom de variable d'environnement doit être sous la forme esolDb\_*nomDeLaBase*\_*nomDuParam*ex :

```
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

```

Fichiers de requetes
--------------------

[](#fichiers-de-requetes)

Dans le répertoire ./Resources/sql/ il faudra placer les fichiers sql que l'on souhaite executer.

Basic Usage
-----------

[](#basic-usage)

### SELECT

[](#select)

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

```

### INSERT, UPDATE, DELETE

[](#insert-update-delete)

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

```

### Passage de paramètres dans les instructions SQL

[](#passage-de-paramètres-dans-les-instructions-sql)

ESOL/DB remplacera toutes les instructions présentent dans le SQL entre {}

On peut passer des paramètres :

- En utilisant 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();

```

OU en passant directement le Request à getArrayData

```
$arrayData = $esolDb->getArrayData($request);

```

- En utilisant une table de clé

```
$array = array(
    "value1" => "BMOPQ",
    "value2" => "JRYOM"
);
$esolDb = new \Esol\Db\EsolDb("mysql_test", "./Resources/sql/select.sql");

```

$esolDb-&gt;setASqlrVars($array); $arrayData = $esolDb-&gt;getArrayData();

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

```

$arrayData = $esolDb-&gt;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-&gt;setASqlrVars('numPo', $rowData\['id\_po'\]); $arrayData = $esolDb-&gt;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 -

### Author

Cedric DELAMARRE -

### License

### Acknowledgements

```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~47 days

Recently: every ~200 days

Total

21

Last Release

1820d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/33032658?v=4)[devesol](/maintainers/devesol)[@devesol](https://github.com/devesol)

---

Top Contributors

[![cdelamarre-fr](https://avatars.githubusercontent.com/u/230690217?v=4)](https://github.com/cdelamarre-fr "cdelamarre-fr (15 commits)")[![cdelamarre](https://avatars.githubusercontent.com/u/30348395?v=4)](https://github.com/cdelamarre "cdelamarre (3 commits)")

---

Tags

testesol

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/esol-db/health.svg)

```
[![Health](https://phpackages.com/badges/esol-db/health.svg)](https://phpackages.com/packages/esol-db)
```

###  Alternatives

[nelmio/alice

Expressive fixtures generator

2.5k43.4M133](/packages/nelmio-alice)[php-coveralls/php-coveralls

PHP client library for Coveralls API

51413.7M3.4k](/packages/php-coveralls-php-coveralls)[leanphp/behat-code-coverage

Generate Code Coverage reports for Behat tests

50359.8k2](/packages/leanphp-behat-code-coverage)[certificationy/certificationy-cli

A CLI tool to train certifications

4354.5k](/packages/certificationy-certificationy-cli)[google/cloud-tools

PHP tools for Google Cloud Platform

24902.7k5](/packages/google-cloud-tools)[trappar/alice-generator

Automatically generates alice fixture based on a set of objects

52185.4k1](/packages/trappar-alice-generator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
