Geo Lima 0 Denunciar post Postado Janeiro 29, 2009 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
Marcio Leandro 0 Denunciar post Postado Fevereiro 2, 2009 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
Geo Lima 0 Denunciar post Postado Fevereiro 3, 2009 hehe Obrigado kara quando a pessoa não sabe inglês fica complicado né...kkk arrumei os erros aqui e rodou certinho até mais Compartilhar este post Link para o post Compartilhar em outros sites
Geo Lima 0 Denunciar post Postado Fevereiro 4, 2009 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
Alexandre-Begginer Oracle 0 Denunciar post Postado Novembro 13, 2009 Caro amigo, perceba a sua tabela o id nao pode campo nullo e você ta dando um insert com id mas nulo, Oracle soca!!!! veja isso"&". duvidas manda ai.... Compartilhar este post Link para o post Compartilhar em outros sites