* @brief Returns the selected database name
*
* @return string
+ * @throws \Exception
*/
public static function databaseName() {
$ret = self::p("SELECT DATABASE() AS `db`");
* @brief Analyze a database query and log this if some conditions are met.
*
* @param string $query The database query that will be analyzed
+ * @throws \Exception
*/
private static function logIndex($query) {
$a = \get_app();
*
* @param string $sql SQL statement
* @return bool|object statement object or result object
+ * @throws \Exception
*/
public static function p($sql) {
$a = \get_app();
*
* @param string $sql SQL statement
* @return boolean Was the query successfull? False is returned only if an error occurred
+ * @throws \Exception
*/
public static function e($sql) {
$a = \get_app();
/**
* @brief Check if data exists
*
- * @param string $table Table name
- * @param array $condition array of fields for condition
+ * @param string $table Table name
+ * @param array $condition array of fields for condition
*
* @return boolean Are there rows for that condition?
+ * @throws \Exception
*/
public static function exists($table, $condition) {
if (empty($table)) {
* @brief Fetches the first row
* @param string $sql SQL statement
* @return array first row of query
+ * @throws \Exception
*/
public static function fetchFirst($sql) {
$params = self::getParam(func_get_args());
/**
* @brief Insert a row into a table
*
- * @param string $table Table name
- * @param array $param parameter array
- * @param bool $on_duplicate_update Do an update on a duplicate entry
+ * @param string $table Table name
+ * @param array $param parameter array
+ * @param bool $on_duplicate_update Do an update on a duplicate entry
*
* @return boolean was the insert successful?
+ * @throws \Exception
*/
public static function insert($table, $param, $on_duplicate_update = false) {
* @param string $table Table name
*
* @return boolean was the lock successful?
+ * @throws \Exception
*/
public static function lock($table) {
// See here: https://dev.mysql.com/doc/refman/5.7/en/lock-tables-and-transactions.html
* @brief Unlocks all locked tables
*
* @return boolean was the unlock successful?
+ * @throws \Exception
*/
public static function unlock() {
// See here: https://dev.mysql.com/doc/refman/5.7/en/lock-tables-and-transactions.html
/**
* @brief Delete a row from a table
*
- * @param string $table Table name
- * @param array $conditions Field condition(s)
- * @param array $options
- * - cascade: If true we delete records in other tables that depend on the one we're deleting through
+ * @param string $table Table name
+ * @param array $conditions Field condition(s)
+ * @param array $options
+ * - cascade: If true we delete records in other tables that depend on the one we're deleting through
* relations (default: true)
- * @param array $callstack Internal use: prevent endless loops
+ * @param array $callstack Internal use: prevent endless loops
*
* @return boolean was the delete successful?
+ * @throws \Exception
*/
public static function delete($table, array $conditions, array $options = [], array &$callstack = [])
{
* Only set $old_fields to a boolean value when you are sure that you will update a single row.
* When you set $old_fields to "true" then $fields must contain all relevant fields!
*
- * @param string $table Table name
- * @param array $fields contains the fields that are updated
- * @param array $condition condition array with the key values
+ * @param string $table Table name
+ * @param array $fields contains the fields that are updated
+ * @param array $condition condition array with the key values
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate)
*
* @return boolean was the update successfull?
+ * @throws \Exception
*/
public static function update($table, $fields, $condition, $old_fields = []) {
* @param array $condition
* @param array $params
* @return bool|array
- * @see self::select
+ * @throws \Exception
+ * @see self::select
*/
public static function selectFirst($table, array $fields = [], array $condition = [], $params = [])
{
* $params = array("order" => array("id", "received" => true), "limit" => 10);
*
* $data = DBA::select($table, $fields, $condition, $params);
+ * @throws \Exception
*/
public static function select($table, array $fields = [], array $condition = [], array $params = [])
{
/**
* @brief Counts the rows from a table satisfying the provided condition
*
- * @param string $table Table name
- * @param array $condition array of fields for condition
+ * @param string $table Table name
+ * @param array $condition array of fields for condition
*
* @return int
*
* $condition = ["`uid` = ? AND `network` IN (?, ?)", 1, 'dfrn', 'dspr'];
*
* $count = DBA::count($table, $condition);
+ * @throws \Exception
*/
public static function count($table, array $condition = [])
{
* @brief Fills an array with data from a query
*
* @param object $stmt statement object
+ * @param bool $do_close
* @return array Data array
*/
public static function toArray($stmt, $do_close = true) {
* @return array
* 'list' => List of processes, separated in their different states
* 'amount' => Number of concurrent database processes
+ * @throws \Exception
*/
public static function processlist()
{