[ magrinjo @ 01.07.2018. 22:29 ] @
function dbConnect {
parametri za konekciju na bazu
}


function updateDB {
podaci gde se updateuju tabele iz baze
}


Ako u obzir uzmemo da su ovo funkcije, zeleo bih da "include-ujem" funkciju za konekciju baze, i koristim je u funkciji "updateDB", bez da i u njoj pisem parametre za konekciju.

Koji je najbezbolniji nacin?
(koristim proceduralni nacin)

[Ovu poruku je menjao magrinjo dana 01.07.2018. u 23:44 GMT+1]
[ VladaSu @ 02.07.2018. 13:03 ] @
Najbezbolniji nacin je da koristis klasu. Parametri za konekciju treba da se u nekom config ili ini fajlu.
[ S A J A @ 02.07.2018. 22:37 ] @
Evo kako sam ja to realizovao, imaš klasu za pristup bazi, samo sam malo uprostio, kod mene je to jo malo zabibereno:

Prvo stavi parametre za bazu negde de ti stoje podešavanja, recimo:

Code:
define('DB_HOST', 'localhost');
define('DB_NAME', 'imebaze');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');



Klasa za bazu može ovako da izgleda:

Code:
class db extends PDO {
    function __construct() {
        $params = array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES => true);
 
        //database connection
        try {
            parent::__construct('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USERNAME, DB_PASSWORD, $params);
 
        } catch (PDOException $e) {
            $this->error($e);
        }
    }
 
    public function error($e) {
        http_response_code(500);
        echo 'DB Error: ' . $e->getMessage();
 
        //write DB error to PHP error log
        error_log('DB Error: ' . $e->getMessage() . "\n" . $e->getTraceAsString());
 
        die();
    }
 
}



Kasnije to u projektu koristiš sa:


Code:
$db = new db();
try {
    $stmt = $db->query('SELECT * FROM tabela');        
} catch (Exception $e) {
    $db->error($e);
}        
$data = $stmt->fetchAll();









[Ovu poruku je menjao S A J A dana 03.07.2018. u 00:04 GMT+1]
[ magrinjo @ 03.07.2018. 02:03 ] @
Hvala puno, pomoglo mi je