Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Connection {
- public static $conn;
- //lê o arquivo .ini com as config
- public static function open($name) {
- if (file_exists("config/{$name}.ini")) {
- $db = parse_ini_file("config/{$name}.ini");
- } else {
- throw new exception("Arquivo '$name' nao encontrado");
- }
- $user = isset($db['user']) ? $db['user'] : NULL;
- $pass = isset($db['pass']) ? $db['pass'] : NULL;
- $name = isset($db['name']) ? $db['name'] : NULL;
- $host = isset($db['host']) ? $db['host'] : NULL;
- $type = isset($db['type']) ? $db['type'] : NULL;
- $port = isset($db['port']) ? $db['port'] : NULL;
- switch ($type) {
- case 'pgsql':
- $port = $port ? $port : '5432';
- $conn = new PDO("pgsql:dbname={$name}; user={$user}; password={$pass};host=$host;port={$port};");
- break;
- case 'mysql':
- $port = $port ? $port : '3306';
- $conn = new PDO("mysql:host={$host};port={$port};dbname={$name}", $user, $pass);
- break;
- case 'sqlite':
- $conn = new PDO("sqlite:{$name}");
- break;
- case 'ibase':
- $conn = new PDO("firebird:dbname={$name}", $user, $pass);
- break;
- case 'oci8':
- $conn = new PDO("oci:dbname={$name}", $user, $pass);
- break;
- case 'mssql':
- $conn = new PDO("mssql:host={$host},1433;dbname={$name}", $user, $pass);
- break;
- }
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- self::$conn = $conn;
- }
- public static function select($sql) {
- return self::$conn->query($sql);
- }
- public static function exec($sql, $ret_id = false) {
- $retorno = self::$conn->exec($sql);
- if ($ret_id)
- $retorno = self::$conn->lastInsertId();
- return $retorno;
- }
- public static function close() {
- self::$conn = null;
- }
- }
- host =
- name = localhost/dados/banco.fdb
- user = SYSDBA
- pass = 1234
- type = ibase
- Connection::open('ibase');
- $sql = Connection::select('SELECT * FROM banco');//Select
- $sql = Connection::exec('INSERT INTO banco (campo) VALUES ('Teste')');//Insert
- Connection::close('ibase');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement