A PHP-Class to make handeling databases more easy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kolaente a48debb2cb Bugfix: clear(); 4 years ago
db-blank.php Added "Create Table"-Function 5 years ago
db-mysql.php Bugfix: clear(); 4 years ago
example.php Added "Create Table"-Function 5 years ago
readme.de.md Initial Commit 5 years ago
readme.md Added ability to get data in an order 5 years ago

readme.md

PHP Database-Class

This Database-Class is made to make handling databases (and database-operations) in PHP more easy.

##Other Databases

You can add support for any other database by using the file db-blank.php. I'm currently working to support mongodb.

Examples

Examples can be found in examples.php or in the "Examples"-Section of this document.

Initialize

First, you need to create an connection to your database:

$db = new db('server', 'database', 'user', 'password', 'prefix');

The last pararmeter is optional. If provided, it will be put in front of each table name. This is useful if you have multiple applications in one database.

To use the methods, you need to first specify the table:

$db->setCol('Blog');

Provide Data

You can provide data either directly in the function (via pararmeters) or before via $db->data with the same options. Parameters you provide directly in the function, are of higher priority as data provided via $db->data.

##get()

Get data with this function, it returns an array with the data.

All data is available via $db->data.

Syntax

$db->get($where = [], $link = 'AND', $orderby = 'id', $order = 'ASC')

$where An array to return specific data. If provided, only data which matches is returnend. Scheme: ['key' => 'value'].

You can also provde the data via $db->data['key'] = 'value'.

$link If you provide more than one key, you can choose via this pararmeter how to connect them, currently via AND or OR. Standard is AND.

To see it in action, take a look at example.php or the "Examples"-Section at the bottom of this document.

$orderby Will sort the Output with this column ascending or descending as specified in $order.

insert()

Inserts data provided via $db->data or directly via the function.

Returns true on success, otherwise false.

lastID()

After running $db->insert(), this function returns the ID of the lastly inserted Data.

Syntax

insert($args = [])

$args An array which contains the data to insert. Scheme: ['Spalte' => 'Daten']

update()

Updates already existing data in the database.

Returns true on success, otherwise false.

Syntax

update($where = [], $dataToUpdate = [], $link = 'AND')

$where An array to update specific data. If provided, only data which matches is updated. Scheme: ['key' => 'value']. If not provided, all data is updated!

$dataToUpdate An array with data to update. Scheme: ['Spalte' => 'Neuer Inhalt']

You can also provde the data via $db->data['key'] = 'value'.

$link If you provide more than one key, you can choose via this pararmeter how to connect them, currently via AND or OR. Standard is AND.

delete()

Deletes data from the database.

Returns true on success, otherwise false.

Syntax

delete($where = [], $link = 'AND')

$where An array to update specific data. If provided, only data which matches is deleted. Scheme: ['key' => 'value']. If not provided, all data is deleted!

$link If you provide more than one key, you can choose via this pararmeter how to connect them, currently via AND or OR. Standard is AND.

clear()

Resets the current table and contents of $db->data. This function will be executed automatically if you execute $db->setCol().

##createCol()

Creates a new table.

###Syntax

$db->createCol($name, $structure)

$name The name of the Table.

$structure An array containing the structure of the new table. Example: ['id' => 'int', 'title' => 'string', 'content' => 'longstring'].

Supported types are int, string, longstring & boolean.

Examples

Getting Data

`$db = new db('localhost', 'testdb', 'root', '123456789');`
`$db->setCol('blog');`
`$db->data['id'] = 3;`
`print_r($db->get());`

Or:

 `$db = new db('localhost', 'testdb', 'root', '123456789');`
 `$db->setCol('blog');`
 `print_r($db->get(['id' => 3]));`

Will return the same data.

Insert Data

`$db = new db('localhost', 'testdb', 'root', '123456789');`
`$db->setCol('blog');`
`$db->data['title'] = 'test';`
`$db->data['content'] = 'Lorem Ipsum...';`
`if($db->insert()) echo 'Data was inserted';`

Or:

 `$db = new db('localhost', 'testdb', 'root', '123456789');`
 `$db->setCol('blog');`
 `if($db->insert(['title' => 'test', 'content' => 'Lorem Ipsum...'])) echo 'Data was inserted';`

Update Data

`$db = new db('localhost', 'testdb', 'root', '123456789');`
`$db->setCol('blog');`
`$db->data['title'] = 'New';`
`$db->data['content'] = 'Lorem';`
`$db->update(['id' => 10]);`

Or:

 `$db = new db('localhost', 'testdb', 'root', '123456789');`
 `$db->setCol('blog');`
 `if($db->update(['title' => 'New', 'content' => 'Lorem'], ['id' => 10])) echo 'Data was updated successfully.';`

Delete Data

 `$db = new db('localhost', 'testdb', 'root', '123456789');`
 `$db->setCol('blog');`
 `$db->data['id'] = 9;`
 `if($db->delete()) echo 'Data was deleted successfully.';`

Or:

`$db = new db('localhost', 'testdb', 'root', '123456789');`
`$db->setCol('blog');`
`if($db->delete(['id' => 9])) echo 'Data was deleted successfully.';`