Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geo Lima

[Resolvido] PHP/ORACLE

Recommended Posts

E ai galera,

é o seguinte, sou novato nessa dupla PHP/ORACLE, por isso estou tendo muitas dúvidas. Já configurei o PHP para usar o Oracle e já consegui fazer a conexão. Porém não consigo de jeito nenhum usar os comandos insert, update, select e outros.

Sempre aparece uns erros que eu nem entendo.

 

Fiz uma tabela chamada clientes, com apenas um camo Nome, só para testar.

e no php fiz um insert, mas aparece vários erros.

 

<HTML>
<HEAD>
 <TITLE>Teste</TITLE>
</HEAD>
<BODY>
<?php
$login = "";
$senha = "";

/* Configuração do Oracle */
$bd = "(DESCRIPTION=
		  (ADDRESS_LIST=
			(ADDRESS=(PROTOCOL=TCP)
			  (HOST=localhost)(PORT=1521)
			)
		  )
	   )";

if ($conexao = OCILogon($login,$senha,$bd) )
   echo "Conexão efetuada com sucesso!<br>";
else
   echo "Não foi possível conectar ao Oracle.<br>";
   
   $sql = OCIParse("INSERT into clientes (nome) values('Geovane')"); //query
   OCIExecute($sql, OCI_COMMIT_ON_SUCCESS); //executa a query
   OCICommit($conectar); // comita
?>
</BODY>
</HTML>

Erros que aparecem:

Conexão efetuada com sucesso!

Warning: ociparse() expects exactly 2 parameters, 1 given in D:\Arquivos de programas\EasyPHP 2.0b1\www\teste.php on line 24

Warning: ociexecute() expects parameter 1 to be resource, null given in D:\Arquivos de programas\EasyPHP 2.0b1\www\teste.php on line 25

Notice: Undefined variable: conectar in D:\Arquivos de programas\EasyPHP 2.0b1\www\teste.php on line 26

Warning: ocicommit() expects parameter 1 to be resource, null given in D:\Arquivos de programas\EasyPHP 2.0b1\www\teste.php on line 26

então, alguém pode me ajudar? o que eu estou fazendo de errado?

 

Abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os erros são esses que o código tá mostrando:

 

// função espera 2 parâmetro, foi passado apenas 1
ociparse() expects exactly 2 parameters, 1 given 
// o parâmetro esperado deveria ser um recurso, foi passado null. Este é consequência do primeiro
ociexecute() expects parameter 1 to be resource, null given // 
// variável não definida
Undefined variable conectar in D:\Arquivos de programas\EasyPHP 2.0b1\www\teste.php on line 26
// esperado recurso, passado nulo, provavel consequencia dos erros acima
ocicommit() expects parameter 1 to be resource, null given

Compartilhar este post


Link para o post
Compartilhar em outros sites

então gente, estou com um outro probleminha

 

fiz essa tabela no oralce:

 

create table faleConosco(
id int not null primary key,
nome varchar2(50) not null,
email varchar2(50) not null,
telefone int not null, 
assunto varchar2(50) not null,
mensagem varchar2(500)not null
);

criei um formulario em html:

<form METHOD="POST" ACTION="recupera.php">
	  <br>Nome
	  <INPUT TYPE="Text" NAME="txtNOME" SIZE=30 TITLE="Digite o seu nome">
	  <br>E-mail
	  <INPUT TYPE="Text" NAME="txtEMAIL" SIZE=30 TITLE="Digite o seu e-mail">
	  <br>Telefone
	  <INPUT TYPE="Text" NAME="txtTEL" SIZE=8 MAXLENGTH=8 TITLE="Digite o telefone">
	  <br>Assunto
	  <INPUT TYPE="Text" NAME="txtASSUNTO" SIZE=20 TITLE="Digite o assunto">
	  <br>Mensagem<br>
	  <TEXTAREA NAME="txtMENSAGEM" ROWS=5 COLS=30 TITLE="Digite a mensagem"></TEXTAREA>
	  <br>
	  <INPUT TYPE="Reset" value="LIMPAR">
	  <INPUT TYPE="Submit" value="ENVIAR">
</form>

e fiz o envio através do método post:

 

<?php

include "conecta_oci.php"; //ARQUIVO DE CONEXÃO COM O BANCO DE DADOS ORACLE

$nome=$_POST["txtNOME"];
$email=$_POST["txtEMAIL"];
$telefone=$_POST["txtTEL"];
$assunto=$_POST["txtASSUNTO"];
$mensagem=$_POST["txtMENSAGEM"];


	 $query = ("INSERT into FALECONOSCO (id,nome,email,telefone,assunto,mensagem)values(3,$nome,$email,$telefone,$assunto,$mensagem)"); //query
	 $sql = OCIParse($conexao, $query)or die("ERRO NA ANÁLISE DA CLÁUSULA SQL");
	 OCIExecute($sql,OCI_DEFAULT); //executa a query
	 OCICommit($conexao); // comita
?>

pensei que estava tudo certo, pois testei todos os inputs com apenas um caracter e rodou beleza, mas quando eu fui testar na vera com muitas palavras e espaços, apareceu esse erro:

 

Warning: ociexecute() [function.ociexecute]: ORA-00984: coluna não permitida aqui in D:\Arquivos de programas\EasyPHP 2.0b1\www\recupera.php on line 19

gostaria de saber como faço para consertar isso, pois quando eu faço um insert normalmente sem ser no php a tabela funciona numa boa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.