60 lines
1.8 KiB
PHP
60 lines
1.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* IDB interface
|
|
* Interface for DB driver and basic I/U/D/S operations.
|
|
*/
|
|
interface IDB
|
|
{
|
|
/**
|
|
* Connect to DB on DBMS
|
|
*
|
|
* @param string $host hostname
|
|
* @param string $username username
|
|
* @param string $password password
|
|
* @param string $database database name
|
|
* @return static instance of DB on success
|
|
*/
|
|
public function connect(
|
|
string $host = "",
|
|
string $username = "",
|
|
string $password = "",
|
|
string $database = ""
|
|
): ?static;
|
|
|
|
/**
|
|
* SELECT rows from table
|
|
*
|
|
* @param string $query SQL query SELECT string
|
|
* @return array result as a associative array, key is attribute name, value is attribute array; empty on error
|
|
*/
|
|
function select(string $query): array;
|
|
|
|
/**
|
|
* INSERT record to table
|
|
*
|
|
* @param string $table database table name
|
|
* @param array $data data to insert, key is attribute name, value is attribute value
|
|
* @return boolean true on success otherwise false
|
|
*/
|
|
function insert(string $table, array $data): bool;
|
|
|
|
/**
|
|
* UPDATE record in table
|
|
*
|
|
* @param string $table database table name
|
|
* @param integer $id primary key value for record to update
|
|
* @param array $data data to update, key is attribute name, value is attribute value
|
|
* @return boolean true on success otherwise false
|
|
*/
|
|
function update(string $table, int $id, array $data): bool;
|
|
|
|
/**
|
|
* DELETE item from table
|
|
*
|
|
* @param string $table database table name
|
|
* @param integer $id primary key value for record to delete
|
|
* @return boolean true on success otherwise false
|
|
*/
|
|
function delete(string $table, int $id): bool;
|
|
} |