return DI::dba()->getConnection();
}
+ /**
+ * Return the database driver string
+ *
+ * @return string with either "pdo" or "mysqli"
+ */
+ public static function getDriver()
+ {
+ return DI::dba()->getDriver();
+ }
+
/**
* Returns the MySQL server version string
*
return DI::dba()->insert($table, $param, $on_duplicate_update);
}
+ /**
+ * Inserts a row with the provided data in the provided table.
+ * If the data corresponds to an existing row through a UNIQUE or PRIMARY index constraints, it updates the row instead.
+ *
+ * @param string|array $table Table name or array [schema => table]
+ * @param array $param parameter array
+ *
+ * @return boolean was the insert successful?
+ * @throws \Exception
+ */
+ public static function replace($table, $param)
+ {
+ return DI::dba()->replace($table, $param);
+ }
+
/**
* Fetch the id of the last insert command
*
*/
public static function mergeConditions(array ...$conditions)
{
+ if (count($conditions) == 1) {
+ return current($conditions);
+ }
+
$conditionStrings = [];
$result = [];
foreach ($conditions as $key => $condition) {
+ if (!$condition) {
+ continue;
+ }
+
$condition = self::collapseCondition($condition);
$conditionStrings[] = array_shift($condition);