Giter Site home page Giter Site logo

reconnect's Introduction

#reConnect

Author: Devimplode

License: CreativeCommons by-nc-sa

Description:

This project contains some php classes to access several database systems with one object oriented interface

reConnect allows access to classic RDBMS and NoSQL-databases with one object oriented interface

Please look in index.php for a quick example.

##SQL to reConnect interface

INSERT INTO users ( `foo`, `bar` ) VALUES( 'herp', 'derp' )
	$db->users->insert(array('foo'=>'herp','bar'=>'derp'));
SELECT a,b FROM users
	$db->users->select(array('a','b'));
SELECT a as 'key',b FROM users
	$db->users->select(array('a'=>'key','b'));
SELECT * FROM users WHERE age=33
	$db->users->where(array("age" => 33));
SELECT a,b FROM users WHERE age=33
	$db->users->select(array('a','b'))->where(array("age" => 33));
SELECT a,b FROM users WHERE age=33 ORDER BY name
	$db->users->select(array('a','b'))->where(array("age" => 33))->sort(array("name"));
SELECT * FROM users WHERE age>33
	$db->users->where(array("age" => array('%gt' => 33)));
SELECT * FROM users WHERE age<33
	$db->users->where(array("age" => array('%lt' => 33)));
SELECT * FROM users WHERE age <> 33
	$db->users->where(array("age" => array('%ne' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%"
	$db->users->where(array("name" => array('%match' => "Joe")));
SELECT * FROM users WHERE name LIKE "Joe%"
	$db->users->where(array("name" => array('%match' => "^Joe")));
SELECT * FROM users WHERE age>33 AND age<=40
	$db->users->where(array("age" => array('%gt' => 33, '%lte' => 40)));
SELECT * FROM users ORDER BY name DESC
	$db->users->sort(array("name" => reconnect::DESC));
SELECT * FROM users WHERE a=1 and b='q'
	$db->users->where(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 1
	$db->users->where()->limit(1);
SELECT * FROM users LIMIT 10 OFFSET 20
SELECT * FROM users LIMIT 20, 10
	$db->users->where()->limit(10)->offset(20);
SELECT * FROM users WHERE a=1 or b=2
	$db->users->where(array('%or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users WHERE a=1 or ( b=2 and a>=1)
	$db->users->where(array('%or' => array(array("a" => 1), array(array("b" => 2),array("a"=>array("$gte"=>1))))));
EXPLAIN SELECT * FROM users WHERE z=3
	$db->users->where(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users
	$db->users->select('last_name')->distinct();
SELECT COUNT(*) FROM users
	$db->users->count();
SELECT COUNT(*) FROM users where AGE > 30
	$db->users->where(array("age" => array('%gt' => 30)))->count();
SELECT COUNT(AGE) from users
	$db->users->where(array("age" => array('%exists' => true)))->count();
UPDATE users SET a=1,c='foo' WHERE b='q'
	$db->users->update(array(array("a" => 1),array('c'=>'foo')))->where(array("b" => "q"));
UPDATE users SET a=a+2 WHERE b='q'
	$db->users->update(array("a" => array('%inc' => 2)))->where(array("b" => "q"));
DELETE FROM users WHERE z="abc"
	$db->users->remove()->where(array("z" => "abc"));
DELETE FROM users WHERE z>=10 LIMIT 20
	$db->users->remove()->where(array("z" => array('%gte'=>10)))->limit(20);

##Creating a table ###with mysql

$table=$conn->test->createTable(array(
	'name'=>'temp',
	//'copy'=>'table',
	'fields'=>array(
		'id'=>array(
			'type'=>'tinyint',
			'length'=>'3',
			'decimals'=>false,
			'unsigned'=>false,
			'zerofill'=>false,
			'mode'=>'unicode',//unicode | ascii | binaray
			'data'=>array('val1','val2','val3','val4'),//enum, set
			'null'=>1,//1(NULL),false(DEFAULT),-1(NOT NULL)
			'default'=>false,
			'auto_increment'=>false,
			'unique'=>false,
			'primary'=>true,
			'comment'=>''
		)
	),
	'temporary'=>false,
	'quiet'=>false,
	'primary'=>array(
		'id'
	),
	'options'=>array(
		'autoincrement'=>0,
		'type'=>'InnoDB',
		'row_format'=>'compact',
		'charset'=>'utf8',
		'collate'=>'utf8_bin',
		'comment'=>'Testtable',
		'min_rows'=>false,
		'max_rows'=>false,
		'avg_row_length'=>false,
		/*MyISAM only*/
		'checksum'=>false,
		'PACK_KEYS'=>false,
		'delay_key_write'=>false,
	)
));

###with mongodb

$table=$conn->test->createTable(array('name'=>'temp'));

reconnect's People

Watchers

 avatar  avatar

Forkers

matiasnamendola

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.