ymvas / ymsql
SQL Helper
Installs: 54
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:package
Requires (Dev)
- phpunit/phpunit: ^7.5
README
// site https://ymvas.com/ymsql
YMSQL is a query helper and abstraction layer for php.
COMPOSER INSTALATION
composer require ymvas/ymsql
Basic Script
use YMSQL\YMSQL; // declare the database variables in ENV $_ENV[ 'DB_HOST' ] = 'host'; $_ENV['DB_USERNAME'] = 'name'; $_ENV['DB_PASSWORD'] = 'pass'; $_ENV['DB_DATABASE'] = 'dtbs'; $v = new YMSQL( ); $query = $v->query( " SELECT * FROM Table T WHERE TRUE { AND T.name = :name } " ,[ 'name' => 'ymsql' ] , true ); // what query will return /* $query " SELECT * FROM Table T WHERE TRUE AND T.name = 'ymsql' " */ $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' => 'ymsql', '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 ymsql , 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','' |
a | ['string',0 ,'123.3', null] | 'string,0,123.3,' |
j | ['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