bera/bera-db

A simple database abstraction layer

v1.0.5 2023-02-01 20:11 UTC

This package is auto-updated.

Last update: 2024-04-29 22:46:59 UTC


README

A simple mysql database warpper for php

Badges

MIT License

Authors

Features

  • Simple Interface
  • Add, Edit, Delete, Fetch query helper methods
  • Database transactions

Installation

Install by using composer

  composer require bera/bera-db

Usage/Examples

Setup a connection

require_once __DIR__  . '/vendor/autoload.php';

use Bera\Db\Db;

try {
    $db = new Db('music_app', 'localhost', 'root', '', null, true);
} catch( Bera\Db\Exceptions\DbErrorException $e  ) {
    echo $e->getMessage();
}

Insert data

    $db->insert('songs', [
        'title' => 'A New Songs',
        'author' => 'dev',
        'duration' => 300
    ]);

Update data

 $db->update('songs', [
        'title' => 'Another Songs'
    ], ['id' => 1]);

Delete data

$db->delete('songs', ['id' => 1]);

Select data

$db->query('SELECT * FROM songs')->all()
$db->query('SELECT * FROM songs WHERE id = ?', [1])->one()
$db->findAll('songs');
$db->findOne('songs', ['id' => 1]);

API Reference

Connect to a database

 $db = new Db('music_app', 'localhost', 'root', '', null, true);

Set debug mode

 $db->setDebugMode(true)

Insert data

 $db->insert('table_name', $data = [])

Update data

 $db->update('table_name', $data = [], $conditions = [])

Delete data

 $db->delete($table, $conditions=[], $glue = 'AND')

Delete data using AND as a glue

 $db->deleteUsingAnd($table, $conditions=[])

Delete data using OR as a glue

 $db->deleteUsingOr($table, $conditions=[])

Run raw query

 $db->query($sql, $params = [])

Get total nunmber of affected rows

 $db->getAffectedRows()

Get last insert id

 $db->lastInsertId()

Get single record as an array after query

 $db->query($sql, $params = [])->one()

Get single record as an object after query

 $db->query($sql, $params = [])->oneAsObject()

Get all records as an array after query

 $db->query($sql, $params = [])->all()

Get a single record using a table name

 $db->findOne($table, $conditions = [], $glue = 'AND', $as = 'object');

Get all records using a table name

 $db->findAll($table, $conditions = [], $glue = 'AND');

Begin a db transaction

 $db->start_transaction()

End a db transaction

 $db->end_transaction()