Continuação do artigo sobre conexão com Oracle usando PHP. Vou mostrar como fazer consultas em tabelas, criar variaveis, e usar OCI_NO_AUTO_COMMIT.

//conexão com o Oracle
$conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico');

if (!$conexao) {
$erro = oci_error();
trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR);
exit;
}

//bloco da consulta SQL
$consulta = "select * from cep_localidade";
$stid = oci_parse($conexao, $consulta) or die ("erro");

//Executa os comandos SQL
$exec= oci_execute($stid);

//defini váriaveis
oci_define_by_name($stid, 'COLUNA1', $VAR1);
oci_define_by_name($stid, 'COLUNA2', $VAR2);
oci_define_by_name($stid, 'COLUNA3', $VAR3);

//Abaixo conta a quantidade de linhas retornada da consulta.
echo $nrows = oci_fetch_all($stid, $results);

oci_free_statement($stid);
//fecha a conexão atual
oci_close($conexao);

Pessoal espero que ajude e tire as duvidas de quem vai começar a usar PHP+ORACLE, é um exemplo bem simples de como fazer uma consulta no banco de dados.

Para usar INSERT, UPDATE OU DELETE use a função OCI_NO_AUTO_COMMIT e valide em seguida.

$exec= oci_execute($stid, OCI_NO_AUTO_COMMIT);
//se encontrar algum erro da um rollback NÃO efetiva a query
if (!$exec) {
    $e = oci_error($stid);
    oci_rollback($conexao);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// COMITA a query
$exec = oci_commit($conexao);
if (!r) {
    $e = oci_error($conexao);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

Hoje vou mostrar como fazer conexão no oracle usando o PHP.

Atualizado em:09/01/2018

Caso não tenha configurado o PHP para suporte com a conexão veja o link abaixo antes de continuar;

Linux:

Configurando o PHP para suporte com Oracle usando CentOS 6.3 / Red Hat 6.3

Windows:

Para permitir a biblioteca PHP conectar com o Oracle no windows, é necessário instalar o client do Oracle no computador e configurar o arquivo TNSNAMES.ora.

 

1° passo – O primeiro passo é configurar o PHP. As bibliotecas para conexão com o Oracle.

Localize o arquivo php.ini dentro do diretório de instalação do apache, e em seguida abra usando um editor de texto.

Encontre a linha ;extension=php_oci8.dll e remova o ponto e vírgula no inicio.
Encontre a linha ;extension=php_oracle.dll e remova o ponto e vírgula no inicio.

Caso não encontre as linhas insira no final do arquivo.

2° passo – Agora vamos criar a conexão com o Oracle.

Para conectar no oracle usava-se OCILogon que foi substituido por oci_connect a partir da versão 5.1.2 do PHP.
Vou mostrar como usar as 2 maneiras.

//metodo para se conectar usando versão 4 ou anterior do PHP
//depende da instalação do client do oracle e configuração do arquivo TNS
$conexao_antiga = OCILogon("usuario", "senha", "servico");

//metodo usado a partir do PHP 5.1.2
$conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico');

if (!$conexao) {
    $erro = oci_error();
    trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR);
exit;
}

Modelo de configuração do arquivo TNS.ORA
O arquivo TNSNAMES.ORA armazena as configurações do servidor e nome da instancia do oracle. Abaixo postei um arquivo com duas configurações base produção e base teste.
Lembrando que ao instalar o oracle client em seu computador é criado um arquivo vazio caso seu arquivo TNS esteja em algum endereço da rede é necessário alterar o caminho no registro do windows.
Diretório padrão do arquivo: C:oracleproduct10.2.0client_1networkADMINtnsnames.ora

# TNSNAMES.ORA Network Configuration File: c:oracleora92networkadmintnsnames.ora
# Generated by Oracle configuration tools.

producao =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )

teste =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = teste)
    )
  )

Modelo de configuração do arquivo de registro “REGEDIT” indicando o diretorio onde esta o arquivo TNS.
Caso seu arquivo de TNS seja armazenado em outro local é necessário atualizar o registro, alterando o TNS_ADMIN para o novo caminho.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraClient10g_home1]
"TNS_ADMIN"="C:\oracle\product\10.2.0\client_1\network\ADMIN"

[HKEY_LOCAL_MACHINESOFTWAREORACLE]
"TNS_ADMIN"="C:\oracle\product\10.2.0\client_1\network\ADMIN"

Bem pessoal, basicamente é isto espero que ajude. No próximo artigo vou mostrar como fazer uma consulta no DB Oracle.
Um abraço a todos.

Baixe e instale o driver de conexão do site do MySql.

http://www.mysql.com/downloads/connector/odbc/

Crie um arquivo chamado asp_conexao_mysql.asp

1
2
3
4
5
6
 
<%
strConnection = "driver={MySQL ODBC 5.1 Driver}; server=localhost; uid=USUARIO; pwd=SENHA; database=DATABASE;option=NUM"
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConnection
%>

Olá.. Hoje vou mostrar como instalar e configurar o IIS em seu computador. Lembrando que o IIS 7.0 só está disponível nas versões do Windows XP Prof., Vista business, Ultimate e Windows 7 Business e Ultimate.

Estou usando o Windows Vista Ultimate neste tutorial.

Para instalar o IIS em seu computador siga os seguintes passos:

1° Passo – Acesse o painel de controle, Programas e recursos.

2° Passo – Clique em Ativar, Desativar recursos do Windows. (imagem 1)

Imagem 1

3° Passo – Marque a opção Serviços de Informações da Internet. (imagem 2)
Certifique de que as funcionalidades desejadas estão marcadas, como ASP, ASP.NET…etc…

Clique em Ok e aguarde a finalização da instalação.

Agora faça o seguinte teste.

Abra o browser e acesse http://localhost, ou http://127.0.0.1, deverá aparecer o logo do iis. (imagem 4)

Para obter mais informações acesse o site do iis pelo endereço http://www.iis.net/

Configurando o IIS

1° Passo – Acesse o painel de controle, Ferramentas Administrativas, e abra o
Gerenciador do Serviços de Informações da Internet (IIS). (imagem 5)

2° Passo – Para adicionar um site ao IIS clique com o botão do lado deito do mouse sobre o nome do computador e selecione a opção adicionar site. (imagem 6)

Imagem 6

3° Passo – Preencha com os dados do seu site. Senão tiver muito conhecimento sobre portas e outras configurações deixe o padrão ou conforme imagem abaixo.
Aconselho criar uma pasta dentro do diretório C:inetpubwwwrootNome-Site
Imagem 7

O nome do seu site que você configurou irá aparecer abaixo do site pré configurado “Default Web Site”.
Seu site esta configurado. (Imagem 8 )
Imagem 8

Pare o serviço do site Default Web Site e inicie o que você criou.

ACTIVE SERVER PAGES

ASP é uma tecnologia da Microsoft que disponibiliza um conjunto de componentes para o desenvolvimento de páginas Web dinâmicas. Tais páginas consistem em arquivos de extensão *.asp no formato texto(ASCII) que contém combinações de scripts e tags HTML.

Para compilar seus arquivos .ASP é recomendado pela microsoft usar o servidor web IIS (que por sua vez é da propria microsoft, não preciso nem comentar….certo!) mas pode ser compilado em outros servidores como APACHE.

A instalação e configuração do IIS é bem rápida e prática para um ambiente de testes.

Na próxima postagem vou mostrar como instalar o IIS em seu computador.

O uso de session ajuda bastante, permite setarmos váriaveis globais para usar em todo o site sem a necessidade de ficar carregando ou obtendo o valor da váriavel atraves do $_GET (usuário.php?ID=123).

Para começar a usar sessão no PHP siga o exemplo abaixo.

crie um arquivo chamado teste1.php

session_start('nome_sessao'); //esse comando deve estar na primeira linha

//você também poderá ativar o buffer usando o comando ob_start que evita alguns erros
ob_start(); //ob_start — Ativa o buffer de saída

//atribuimos a palavra valor para variavel global nome_var_session
$_SESSION['nome_var_session'] = "valor";

Agora para testar crie um segundo arquivo chamado teste2.php

//inicie com o comando session e lembre-se de manter o mesmo nome que atribuiu para  a sessão anterior.
session_start('nome_sessao');

//imprimi a variavel global
echo $_SESSION['nome_var_session'];

Funções para Sessão

* session_cache_expire — Retorna o prazo do cache atual
* session_cache_limiter — Obtém e/ou define o limitador do cache atual
* session_commit — Sinônimo de session_write_close
* session_decode — Decifra dado de sessão de uma string
* session_destroy — Destrói todos os dados registrados em uma sessão
* session_encode — Codifica os dados da sessão atual como uma string
* session_get_cookie_params — Obtém os parâmetros do cookie da sessão
* session_id — Obtém e/ou define o id de sessão atual
* session_is_registered — Descobre se uma variável global está registrada numa sessão
* session_module_name — Obtém e/ou define o módulo da sessão atual
* session_name — Obtém e/ou define o nome da sessão atual
* session_regenerate_id — Atualiza o id da sessão atual com um novo gerado
* session_register — Registrar uma ou mais variáveis globais na sessão atual
* session_save_path — Obtém e/ou define o save path da sessão atual
* session_set_cookie_params — Define os parâmetros do cookie de sessão
* session_set_save_handler — Define a sequência de funções de armazenamento
* session_start — Inicia dados de sessão
* session_unregister — Desregistra uma variável global da sessão atual
* session_unset — Libera todas as variáveis de sessão
* session_write_close — Escreve dados de sessão e termina a sessão

acesse: http://www.php.net/manual/pt_BR/ref.session.php

Olá pessoal,

O PHP tem uma função que verifica se um arquivo ou diretorio existe.

file_exists — Checa se um arquivo ou diretório existe

pode ser usado em vários casos, como exemplo um upload de imagens e arquivos que há necessidade de checar se a pasta onde serão salvos os uploads existe ou verificar se determinada imagem existe.


$arquivo = '/diretorio/arquivo.txt';

if (file_exists($arquivo)) {
    echo "O arquivo $arquivo existe";
} else {
    echo "O arquivo $arquivo não existe";
}

Em um cadastro de pessoas onde poderá ter ou não uma foto cadastrada.


$foto_funcionario = '/fotos/foto.jpg';

if (file_exists($foto_funcionario)) {
    $imagem = $foto_funcionario;
} else {
    $imagem ='/fotos/sem-imagem.jpg';
}

è so você implementar no seu codigo.

Ate a proxima.

Olá pessoal, hoje vou mostrar sobre os tipos de dados que podem ser definidos para as colunas do seu banco de dados e tornar suas consultas mais rápidas.

Tipos de data e Hora:

DATE – armazena data tipo AAAA-MM-DD
DATETIME – armazena data e hora no formato – AAAA-MM-DD HH:MM:SS
TIME – armazena hora no formato – hh:mm:ss
YEAR – armazena ano no formato – aaaa
TIMESTAMP – armazena data e hora podendo ser usando com TIME_STAMP

Tipos numéricos
Bytes Range
TINYINT 1 -128 até 127
SMALLINT 2 -32768 até 32767
MEDIUMINT 3 -8388608 até 8388607
INT 4 -2147483648 até 2147483647
BIGINT 8 -9223372036854775808 até 9223372036854775807

Tipos string

Os tipos strings são CHAR, VARCHAR, BLOB, TEXT, ENUM, e SET.

A seguinte tabela ilustra as diferenças entre os dois tipos de colunas, mostrando o resultado de se armazenar vários valores de strings em campos CHAR(4) e VARCHAR(4):
CHAR-VARCHAR

Então usar varchar é melhor para meu banco ficar mais leve certo ? Errado!
É obvio que para um colunas com valores fixos você deve usar CHAR, e colunas com valores variaveis deve-se usar o VARCHAR.
Mas isso vai depender muito do tipo de informação que será guardada pois em alguns casos é melhor usar CHAR pois a maneira que o Mysql trabalha internamente para essas colunas poderá fazer sua consulta ficar mais lenta.
E também depende de como esta seus indices entre outros fatores que influenciam.

Tipo ENUM
Enum – armazena um valor único de uma lista pré especificada.
Ex.: ENUM(‘S’,’N’) – somente será aceito os valos S,N
pode ser usado para campos como, sexo, recebe newsletter,

Tipos binários

Olá pessoal,

Por incrivel que pareça ainda encontramos usuários utilizando navegadores com versões desatualizadas.

Para ajudar na campanha Update your Browser(atualize seu navegador), estou divulgando o site e links para atualização dos navegadores mais usados.

“Versões antigas e desatualizadas de navegadores têm problemas de segurança e não acompanham os novos padrões de desenvolvimento para a Internet. O Atualize seu navegador faz parte de um movimento internacional para eliminar os navegadores obsoletos do mercado.”

Faça download da nova versão do seu navegador agora mesmo.

http://www.updateyourbrowser.net/pt/ (Português)

Atualize seu Navegador

Hoje vamos aprender a fazer um Filtro de palavras inapropriadas com substiuição de palavras. Poderá ser implementado no seu sistema de mural de recados, comentários de artigos ou fotos, enfim vamos ao que interessa.

Nessa parte vamos criar uma tabela no banco de dados para armazenar as palavras que queremos filtrar.


CREATE TABLE IF NOT EXISTS `filtro_palavras` (
  `Codigo` int(4) NOT NULL AUTO_INCREMENT,
  `MsgErrada` varchar(200) DEFAULT NULL,
  `MsgCorreta` varchar(200) DEFAULT '--',
  PRIMARY KEY (`Codigo`),
  UNIQUE KEY `MsgErrada` (`MsgErrada`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='armazena filtros de palavras' AUTO_INCREMENT=1 ;

Agora vamos criar a função que vai fazer todo o trabalho.
Crie um arquivo chamado filtro.php e coloque o codigo abaixo.


//conexão com o banco de dados
$conexao = mysql_connect('servidor', 'usuario', 'senha') or die(mysql_error());
//seleciona banco de dados
$db = mysql_select_db('banco', $conexao) or die(mysql_error());

// função para Filtrar palavras inapropriadas
function filtro($mensagem)
{
    if ($mensagem) {
        $resultado = mysql_query("SELECT * FROM filtro_palavras");
        while ($mostra = mysql_fetch_array($resultado)) {
            $mensagem= str_replace($mostra['MsgErrada'], $mostra['MsgCorreta'],  $mensagem);
        }
    }
    return $mensagem;
}
?

Para chamar a função dentro do seu código siga o exemplo abaixo:

//inclue a função
include('filtro.php');

//chama a função
filtro("frase mural recado")

Se tiver alguma duvida, é so postar.