Uma classe para conexão do php com Oracle.
É simples, mas é prática e a que utilizo no dia a dia.
Não irei detalhar pois os comandos são todos encontrados em php.net
<?php
class BancoRollback{
public static $conn;
public $sql;
public $res_sql;
public $stmt;
public $total_linhas;
public $erro = “”;
//método que faz a conexão com o banco
public static function conectaBD(){
self::$conn = OCILogon(”usuario”, “senha”, “//127.0.0.1/orcl”);
if (!self::$conn) {
exit;
}
}
//método para desconectar do banco
public static function desconectaBD(){
oci_close(self::$conn);
}
//este método é utilizado para comitar a transação após dar um insert/update/delete com o outro método abaixo (executa_SQL()).
public static function comitar(){
oci_commit(self::$conn);
}
//este método é utilizado para desfazer a operação após dar um insert/update/delete com o outro método abaixo (executa_SQL()).
public static function rollBack(){
oci_rollback(self::$conn);
}
//método que executa o comando sql repassado.
public function executa_SQL(){
//prepara o sql
$this->stmt = oci_parce(self::$conn, $this->sql);
/*executa o sql. note no OCI_DEFAULT. se no lugar dele estivesse OCI_COMMIT_ON_SUCCESS não seria preciso comitar usando o método comitar, pois todos os comandos executados seriam COMITADOS SE HOUVER SUCESSO. você pode não especificar este segundo parâmetro, mas se você fizer isto por padrão ele assume OCI_COMMIT_ON_SUCCESS.*/
$this->res_sql = oci_execute($this->stmt, OCI_DEFAULT);
//testa se retornou false, ou seja, se falhou
if(!$this->res_sql){
aqui ele retorna o erro, sendo que este pode ser facilmente visto somente chamando a variável erro da classe.
$msg_erro = oci_error($this->stmt);
$this->erro = $msg_erro['message'];
}
//então retorna o resultado da execução do comando
return $this->res_sql;
}
}
?>
Então é isso. Uma classe simples e fácil de ser implementada.
Bom proveito. Se gostou não esqueça de comentar. Se não gostou comente também. Críticas são bem vindas mas talvez eu não responda. 