vasyl / vsql
This package is abandoned and no longer maintained.
No replacement package was suggested.
There is no license information available for the latest version (v4.11.2) of this package.
SQL Helper
v4.11.2
2022-01-19 20:04 UTC
Requires (Dev)
- phpunit/phpunit: ^7.5
- dev-master
- v4.11.2
- v4.11.1
- v4.11
- v4.10.11
- v4.10.10
- v4.10.9
- v4.10.8
- v4.10.7
- v4.10.6
- v4.10.5
- v4.10.4
- v4.10.3
- v4.10.2
- v4.10.1
- v4.10
- v4.9.26
- v4.9.25
- v4.9.24
- v4.9.23
- v4.9.22
- v4.9.21
- v4.9.20
- v4.9.19
- v4.9.18
- v4.9.17
- v4.9.16
- v4.9.15
- v4.9.14
- v4.9.13
- v4.9.12
- v4.9.11
- v4.9.10
- v4.9.9
- v4.9.8
- v4.9.7
- v4.9.6
- v4.9.5
- v4.9.4
- v4.9.3
- v4.9.2
- v4.9.1
- v4.9
- v4.8
- v4.7
- v4.6
- v4.5
- v4.4
- v4.3
- v4.2
- v4.1
- v4
- v3.4.1
- v3.4
- v3.3
- v3.1
- v3
- v2
- v1.0.0
- dev-develop
This package is auto-updated.
Last update: 2022-04-22 15:57:59 UTC
README
// site https://ymvas.com/vsql
VSQL is a query helper and abstraction layer for php.
COMPOSER INSTALATION
composer require vasyl/vsql
Basic Script
use VSQL\VSQL\VSQL; // set this to true if you are on debug mode $_ENV['VSQL_INSPECT'] = true; // declare the database variables in ENV $_ENV[ 'DB_HOST' ] = 'host'; $_ENV['DB_USERNAME'] = 'name'; $_ENV['DB_PASSWORD'] = 'pass'; $_ENV['DB_DATABASE'] = 'dtbs'; $v = new VSQL( ); $query = $v->query( " SELECT * FROM Table T WHERE TRUE { AND T.name = :name } " ,[ 'name' => 'vsql' ] , true ); // what query will return /* $query " SELECT * FROM Table T WHERE TRUE AND T.name = 'vsql' " */ $res = $v->get( $list = true ); //returns a standart class object // if you want to return the mysqli instance run this instead // $mysqli = $v->run( $list = true );
Handeling Big queries is now easy
Given this values and this query
$values = [ 'name' => 'vsql', 'getbasic' => true, 'pass' => 'secret' ]
Givent Query
SELECT :name { , d.name :extra_cols } { , d.name ,d.surname, d.pass getbasic; } , d.id FROM dbtable d WHERE TRUE AND d.surname like '%{:surname}%' { AND d.type = i:type } { AND d.pass = s:pswd } { AND d.id = i:id }
Output Query
SELECT vsql , d.name ,d.surname, d.pass , d.id FROM dbtable d WHERE TRUE AND d.surname like '%%' AND d.pass = 'secret'
Transformers
transformer | variables | returns |
---|---|---|
i | 'string',0 ,'123.3', null | 0,0 ,123, 0 |
+i | 'string',0 ,'-123.3', -2 | 0,0 ,123, 2 |
f | 'string',0 ,'123.3', null | 0,0 ,123.3, 0 |
+f | -3, -1.3 ,0 ,'123.3' , null | 3, 1.3 ,0 ,123.3, 0 |
s | 'string',0 ,'123.3', null | 'string','0','123.3','' |
t | ' string ',0 ,'123.3', null | 'string','0','123.3','' |
array/implode | ['string',0 ,'123.3', null] | 'string,0,123.3,' |
json | ['string',0 ,'123.3', null] | '["string",0,"123.3",null]' |
Classes
- VSQL
- Query Compiler
php $db->query('select * from dbtable',array());
- Fetch Rows
php $db->get( $list = false );
- Execute
php $db->run( $list = false ); /* retuns mysql instance */
- Query Compiler