priprema_web_kol/functions.php
2025-12-24 14:04:28 +01:00

71 lines
1.4 KiB
PHP

<?php
require_once __DIR__ . "/config.php";
$pdo = connectDatabase($dsn, $pdoOptions);
/** Function tries to connect to database using PDO
* @param string $dsn
* @param array $pdoOptions
* @return PDO
*/
function connectDatabase(string $dsn, array $pdoOptions): PDO
{
try {
$pdo = new PDO($dsn, PARAMS['USER'], PARAMS['PASSWORD'], $pdoOptions);
} catch (\PDOException $e) {
var_dump($e->getCode());
throw new \PDOException($e->getMessage());
}
return $pdo;
}
function parseCategories(string $cat_string)
{
$cat_string = trim($cat_string);
$cats = explode(" ", $cat_string);
$filtered_cats = array_filter($cats, function($cat) {
if(mb_strlen($cat) <= 4)
return false;
return(ctype_alnum($cat));
});
return $filtered_cats;
}
function insertCategories(array $cats) {
global $pdo;
try {
$pdo->beginTransaction();
$stmt = $pdo->prepare("INSERT INTO categories (name, code) VALUES (:name, :code)");
foreach ($cats as $cat_code => $cat_name) {
$stmt->execute([
':name' => $cat_name,
':code' => $cat_code
]);
}
$pdo->commit();
}
catch (Exception $e) {
$pdo->rollBack();
throw $e;
}
}
class User {
function createUser() {
}
function createUserStmt() {
}
function createUsers() {
}
}