This repository has been archived on 2025-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
Files
skolavdf/wap/mysql-tabledump/IDB.php
2023-03-26 23:44:54 +02:00

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;
}