/** * Cette méthode retourne ou crée l'instance de l'objet DB_Manager * * @return DB_Manager */ public static function getInstance() { if (!isset(self::$_instance)) { self::$_instance = new DB_Manager(); } return self::$_instance; }
/** * Ritorna l'istanza condivisa della connessione al db * @return DB */ public static function getInstance() { if (!self::$_instance instanceof self) { self::$_instance = new self(); } return self::$_instance; }
/** * Retourne true si une transaction est en cours sur la connexion $connection_name * @param type $connection_name Nom de la connexion définie dans le fichier de configuration * @return boolean|null Null si la récupération de la connexion plante */ public static function isTransactionStarted($connection_name) { $connection = null; try { $databaseManager = DB_Manager::getInstance(); $connection = $databaseManager->getConnexion($connection_name); return $connection->transaction; } catch (DatabaseException $e) { DB_Manager::handleError($connection, $e); return null; } }
/** * 数据库select操作 * @param $table [string] 表名 * @param $params [array] select的字段 * @param $where [array] where条件 * @return 执行失败返回false, 成功返回数据集 */ public static function select($table, $where = array(), $fields = "*") { $thiz = DB_Manager::getInstance(); if ($fields == "*") { $sql = "select * from `{$table}` where 1 = 1 "; } else { $sql = 'select `' . implode('`,`', $fields) . "` from `{$table}` where 1 = 1 "; } $vals = array(); foreach ($where as $k => $v) { $sql .= " and `{$k}` = ?"; $vals[] = $v; } return $thiz->execute(array('sql' => $sql, 'vals' => $vals)); }
public static function getUserInfoByID($userID) { return DB_Manager::select('user', array('userID' => $userID)); }
<?php define('ROOT_PATH', realpath(__DIR__)); require_once ROOT_PATH . '/PHP/Arrest.php'; require_once ROOT_PATH . '/PHP/dati-cloudant.php'; require_once ROOT_PATH . '/PHP/DB_Manager.php'; $DB = new DB_Manager(); if ($DB->connect() == false) { echo "Errore di connessione al DB"; exit(-1); } //Vettore delle frequenze $freq = fopen('SEGNALI/Freq1.dat', 'wb'); for ($i = 0; $i < 60; $i++) { fwrite($freq, pack("v", rand(0, 1000))); } fclose($freq); //Vettore dei Decibel $freq = fopen('SEGNALI/Decibel1.dat', 'wb'); for ($i = 0; $i < 60; $i++) { fwrite($freq, pack("v", rand(0, 90))); } fclose($freq); $tempo = time() * 1000; $clu = "CLUSTER_1"; $sens = "SENSORE_" . rand(1, 4); $DB->Insert_noise_level($clu, $sens, $tempo, "Decibel1.dat", "Freq1.dat"); $DB->disconnect(); echo "OK\r\n";
<?php define('ROOT_PATH', realpath(__DIR__)); require_once ROOT_PATH . '/PHP/Cloudant.php'; require_once ROOT_PATH . '/PHP/dati-cloudant.php'; require_once ROOT_PATH . '/PHP/DB_Manager.php'; $DB = new DB_Manager(); if ($DB->connect() == false) { echo "Errore di connessione al DB"; exit(-1); } $CLO = new Cloudant(); /******************************************************************************* 1) Estraggo i nuovi dati dal DB Mysql e li metto in documenti opportuni ********************************************************************************/ if ($DB->getFlagUpdate() == 0) { echo "NON CI SONO DATI DA ELABORARE!!!\r\n"; exit; } $new_data = $DB->getNewData(); /* $new_data[i][0]=>sensor_id_cluster $new_data[i][1]=>sensor_id_sensor $new_data[i][2]=>timestamp_misura $new_data[i][3]=>timestamp_insert $new_data[i][4]=>num_sample $new_data[i][5]=>f_sampling $new_data[i][6]=>data $new_data[i][7]=>tab_len $new_data[i][8]=>data_len */
public function __construct() { $this->db = DB_Manager::getInstance(); }
<?php define('ROOT_PATH', realpath(__DIR__)); require_once ROOT_PATH . '/PHP/Arrest.php'; require_once ROOT_PATH . '/PHP/dati-cloudant.php'; require_once ROOT_PATH . '/PHP/DB_Manager.php'; $DB = new DB_Manager(); if ($DB->connect() == false) { echo "Errore di connessione al DB"; exit(-1); } while (1) { $array_noise_level = $DB->GetListNoiseLevel(); // print_r($array_noise_level); //Elaboro il vettore for ($i = 0; $i < count($array_noise_level); $i++) { if ($array_noise_level[$i]["flag"] == 1) { $max_level = max($array_noise_level[$i]["noise"]); $max_index = in_array($max_level, $array_noise_level); $DB->UpdateNoiseLevel($array_noise_level[$i]["id"], $array_noise_level[$i]["freq"][$max_index], $max_level, $array_noise_level[$i]["flag"]); } else { $DB->UpdateNoiseLevel($array_noise_level[$i]["id"], 0, 0, -1); } //fine else echo "\n\r Elaborata una riga"; } //fine for } //fine while true $DB->disconnect(); echo "OK\r\n";
/** * Permet de fermer une connexion à la base de données (ne sert que dans des cas bien préçis, ne pas utiliser si pas necessaire) * * @param string $connection_name nom de la connection définie dans le fichier de configuration */ public static function close($connection_name) { try{ $databaseManager = DB_Manager::getInstance(); return $databaseManager->closeConnexion($connection_name); }catch(DatabaseException $e){ DB_Manager::handleError($connection, $e); return false; } }
define('ROOT_PATH', realpath(__DIR__)); require_once ROOT_PATH . '/PHP/Arrest.php'; require_once ROOT_PATH . '/PHP/dati-cloudant.php'; require_once ROOT_PATH . '/PHP/DB_Manager.php'; /* * 1) Uso lo script OCTAVE per generare 4 segnali sintetici * ognuno da 300.000 sample salvandoli in S1.dat, S2.dat, S3.dat, S4.dat */ /* exec("octave --silent ./OCTAVE/GenerateTestSignal.m 300000 150000 20000 ./SEGNALI/S1.dat"); exec("octave --silent ./OCTAVE/GenerateTestSignal.m 300000 150000 20000 ./SEGNALI/S2.dat"); exec("octave --silent ./OCTAVE/GenerateTestSignal.m 300000 150000 20000 ./SEGNALI/S3.dat"); exec("octave --silent ./OCTAVE/GenerateTestSignal.m 300000 150000 20000 ./SEGNALI/S4.dat"); exit(); */ /* * 2) Inserisco i dati nel DB MYSQL presente su Hostinger * Utilizzando la libreria ArrestDB */ $DB = new DB_Manager(); if ($DB->connect() == false) { echo "Errore di connessione al DB"; exit(-1); } $DB->Insert_raw_data_correlation("CLUSTER1", "SENSORE_1", "1446389379100", "S1.dat"); $DB->Insert_raw_data_correlation("CLUSTER1", "SENSORE_2", "1446389379200", "S1.dat"); $DB->Insert_raw_data_correlation("CLUSTER1", "SENSORE_3", "1446389379300", "S1.dat"); // $DB->Insert_raw_data_correlation("CLUSTER1","SENSORE_4","1437138405400","S1.dat"); // $DB->Insert_raw_data_correlation("CLUSTER1","SENSORE_5","1437138405500","S1.dat"); $DB->disconnect(); echo "OK\r\n";
public function getConnection() { return $this->createDefaultDBConnection(DB_Manager::getLink(), 'paekdusanTest'); }