/** * Checks if value exists in database * * @static * @access public * @param string $mValue * @param string $sTableClass * @param string $sColumn * @return boolean|string * @since 1.0.0-alpha * @version 1.0.0-alpha */ public static function dbKeyValidation($mValue, $sTableClass, $sColumn) { # array if (is_array($mValue)) { if (empty($mValue)) { return TRUE; } $mParam = []; foreach ($mValue as $v) { if ($v != "" && !array_search($v, $mParam)) { $mParam[] = $v; } } $iDataAmount = count($mParam); if ($iDataAmount == 0) { return TRUE; } } else { if ($mValue == "") { return TRUE; } $iDataAmount = 1; $mParam = $mValue; } # Query DB::query("SELECT t.id FROM " . $sTableClass . " t WHERE t." . $sColumn . " IN (:param)")->param('param', $mParam)->execute(); # Checking result(s) if (count(DB::result()) != $iDataAmount) { if (is_array($mValue)) { return __('One of the values is incompatible with data from database.'); } else { return __('Value is incompatible with data from database.'); } } return TRUE; }