Jump to content
FMonteiro

Erro na chamada de função

Recommended Posts

Estou com um problema na chamada de uma função criada em uma classe. 
Ao fazer a chamada da função, recebo uma mensagem de que a função não existe. 
A mensagem de erro é: 
"Fatal error: Uncaught Error: Call to undefined function EXECUTAR() in C:\...\cls_bd.php:154 Stack trace: #0 C:\...\cls_mail.php(99): bd->INSERIR('tbmensagens', 'data,hora,nome,...', 'DATE_FORMAT((se...', NULL) #1 C:\...\cls_mail.php(108): GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #2 C:\...\cls_contato.php(31): ENVIAR_GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #3 {main} thrown in C:\...\cls_bd.php on line 154"
Na foto em anexo, há o script criado com a chamada da função (linha 154) e da função criada (linha 123).
Será que alguém pode jogar uma luz no assunto para mim?

Erro_funcao_EXECUTAR.png

Share this post


Link to post
Share on other sites

Agradeço às respostas de Tetsuo e Will Fernando. Funcionou ao inserir "$this->" ao chamar a função.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Algorithm
      Olá a todos
       
      Eu estou codificando um exemplo de uso do GraphQL com Nodejs, mas eu estou recebendo um erro de syntax relacionado a [ : ] [ Dois Pontos ], mas eu comparei meu codigo, com o da documentação oficial e esta tudo certo. Será que alguem, conseguiria achar o erro ?
       
      OBS: Esta incluso neste post [ Exemplo Documentação, Meu Exemplo, Mensagem de Erro, Código Completo ]
       
      Exemplo Documentação
      module.exports = /* GraphQL */ ` type Client { id: ID! name: String age: Int products: [Product] } type Query { clients: [Client] client(id: ID!): Client } type Mutation { addClient(name: String!, age: Int!): Client } `  
      Meu Exemplo
      const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `;  
      Mensagem de Erro
      C:\Users\Core\node\node_modules\graphql\language\parser.js:1413 throw (0, _syntaxError.syntaxError)( ^ GraphQLError: Syntax Error: Expected ":", found Name "Pessoa". at syntaxError (C:\Users\Core\node\node_modules\graphql\error\syntaxError.js:15:10) at Parser.expectToken (C:\Users\Core\node\node_modules\graphql\language\parser.js:1413:40) at Parser.parseFieldDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:847:10) at Parser.optionalMany (C:\Users\Core\node\node_modules\graphql\language\parser.js:1510:28) at Parser.parseFieldsDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:831:17) at Parser.parseObjectTypeDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:803:25) at Parser.parseDefinition (C:\Users\Core\node\node_modules\node_modules\graphql\language\phql\language\parser.js:171:23) at Parser.many (C:\Users\Core\node\node_modules\graphql\language\parser.js:1529:26) at Parser.parseDocument (C:\Users\Core\node\node_modules\graphql\language\parser.js:121:25) at parse (C:\Users\Core\node\node_modules\graphql\language\parser.js:32:17) { path: undefined, locations: [ { line: 26, column: 57 } ], extensions: [Object: null prototype] {} }  
      Codigo Completo
      // Requires const express = require('express'); const GraphQL_HTTP = require('express-graphql'); const { mergeSchemas } = require('@graphql-tools/schema'); // Run // const connect = MongoClient.connect(''); const app = express(); const getCode = () => { return 10 }; // GraphQL Definitions || Query and Mutation const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `; // Functions const resolvers = { Query: { resposta: function() { return `GraphQL Conectado com Sucesso...`; }, saudacao: function(_, args) { return `Olá ${args.nome}! Seja Muito Bem Vindo(a) a GraphQL!!!! ` }, findPessoaOne: function(_, args) { return db.collection('GraphQL-Pessoa').findOne({codigo: args.codigo}) .then((result) => { return result; }); }, findPessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).find(args.input).toArray() .then((result) => { return result; }); }, Mutation: { insertPessoa: function(_, args) { args.input.codigo = getCode(); return db.collection(`GraphQL-Pessoa`).insertOne(args.input) .then((result) => { return result.ops[0]; }); }, updatePessoa: function(_, args) { return db.collection('GraphQL-Pessoa').updateOne({codigo: args.codigo}, {$set: args.input}) .then((result) => { if(result.result.n > 0) return `Registro Alterado com Sucesso!`; else return `Ocorreu um erro ao alterar o registro`; }); }, deletePessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).deleteOne({codigo: args.codigo}) .then((result) => { if(result.result.n > 0) return `Registro Deletado com Sucesso!`; else return `Ocorreu um erro ao deletar o registro`; }); } } } }; const schema = mergeSchemas({ typeDefs: typeDefs, resolvers: resolvers }) // Listen app.listen(3005, () => { console.log(`Servidor Rodando na Porta 3005`); })  
       
      Obrigado
    • By Mauricio Molina
      Ola pessoal, será que podem me dar uma força?
       
      Preciso fazer um calculo de subtração de valores, onde o administrador seleciona o mes, pego pelo ID, método GET, para edição.
       
      Como normalmente tem vários meses pagos, o script a seguir só esta funcionando no primeiro item da tabela.
       
      Como posso fazer para funcionar em todos os itens da tabela?
       
      Teria que dar um nome diferente no getValor (id no HTML) para cada um, mas como posso fazer isso?
       
      <!-- Calculo Devolucao--> <script type="text/javascript"> function id(valor_campo) { return document.getElementById(valor_campo); } function getValor(valor_campo) { var valor = document.getElementById(valor_campo).value.replace(',', '.'); /*document.write("Valor: " - valor);*/ return parseFloat( valor ) * 1; } function sub() { var total = getValor('v_recebido') - (getValor('v_devolvido')); id('resultadoDev').value = (total * 1) .toFixed(2, "."); } </script> <!-- Calculo Devolucao--> <div class="toggle"> <input name="v_devolvido" type="checkbox" id="foo<?php echo $rows_aluno['id']; ?>" value="<?php echo $rows_aluno['v_recebido']; ?>"> <label for="foo<?php echo $rows_aluno['id']; ?>"></label> </div> <input type="text" id="v_recebido" value="<?php echo $rows_aluno['v_recebido']; ?><?php echo $rows_aluno['v_receb_parc']; ?>" onblur="sub()" > <div class="form-row"> <div class="form-group col-md-6"> <label for="validationCustomUsername">Valor Parcial:</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text" id="inputGroupPrepend">R$</span> </div> <input name="v_dev_parc" type="text" class="form-control" id="v_devolvido" placeholder="Digite o Valor" aria-describedby="inputGroupPrepend" onblur="sub()"> </div> </div> <input name="id_user" type="hidden" value="<?php echo $rows_aluno['id_user']; ?>"> <input name="id_prof" type="hidden" value="<?php echo $rows_aluno['id_prof']; ?>"> <input name="status" type="hidden" value="Devolvido"> <input name="mes" type="hidden" value="<?php echo $rows_aluno['mes']; ?>"> <input name="v_recebido" type="text" id="resultadoDev"> </div>  
    • By Sapinn
      É a primeira vez que vejo esse erro e estou tendo problemas para resolvê-lo. Tenho no meu controller uma página de erro com o código:
       
      <?php namespace Source\App\Error; use Source\Core\Controller; class Error extends Controller { public function __construct() { parent::__construct(__DIR__ . "/../../themes/" . CONF_VIEW_ERROR . "/"); } /** * ERROR * @param array $data */ public function errors(?array $data): void { $error = new \stdClass(); json_encode($error); switch ($data['errcode']) { case "problemas": $error->code = "OPS"; $error->title = "Estamos enfrentando problemas!"; $error->message = "Parece que nosso serviço não está diponível no momento. Já estamos vendo isso mas caso precise, envie um e-mail :)"; $error->linkTitle = "ENVIAR E-MAIL"; $error->link = "mailto:" . CONF_MAIL_SUPPORT; break; case "manutencao": $error->code = "OPS"; $error->title = "Desculpe. Estamos em manutenção!"; $error->message = "Voltamos logo! Por hora estamos trabalhando para melhorar nosso conteúdo para você controlar melhor as suas contas :P"; $error->linkTitle = null; $error->link = null; break; default: $error->code = $data['errcode']; $error->title = "Ooops. Conteúdo indispinível :/"; $error->message = "Sentimos muito, mas o conteúdo que você tentou acessar não existe, está indisponível no momento ou foi removido :/"; $error->linkTitle = "Continue navegando!"; $error->link = url_back(); break; } $head = $this->seo->render( "{$error->code} | {$error->title}", $error->message, url("/ops/{$error->code}"), theme("/assets/images/share.jpg", CONF_VIEW_ERROR), false ); echo $this->view->render("error", [ "head" => $head, "error" => $error ]); } }  
       
      Estou usando o Composer para fazer minhas rotas de erro e elas se parecem com isso:
       
       
      /** * ERROR ROUTES */ $route->namespace("Source\App\Error"); $route->group("/ops"); $route->get("/{errcode}", "Error:errors"); /** * ROUTE */ $route->dispatch(); /** * ERROR REDIRECT */ if ($route->error()) { $route->redirect("/ops/{$route->error()}"); } E minha visão na página fkbError é assim:
       
      layout("_theme"); ?> <article class="not_found"> <div class="container content"> <header class="not_found_header"> <p class="error">•<?= $error->code; ?>•</p> <h1><?= $error->title; ?></h1> <p><?= $error->message; ?></p> <?php if ($error->link): ?> <a class="not_found_btn gradient gradient-green gradient-hover transition radius" title="<?= $error->linkTitle; ?>" href="<?= $error->link; ?>"><?= $error->linkTitle; ?></a> <?php endif; ?> </header> </div> </article> E o código parece estar certo mas o erro persiste, o que devo fazer?  
       
    • By Sapinn
      Opa galera tudo beleza? Estou com um erro que está me deixando louco eu tenho o seguinte codigo:
          public function findByCode(string $code, string $columns = "*"): ?Sales     {         $find = $this->find("code = :code", "code={$code}", $columns);         return $find->fetch(true);     } Quando o tentou usar ele fazendo algo como:
       
       
      $sales = (new Sales())->findByCode(client()->code);  
      Ele não funciona e me retorna o seguinte erro:
      Uncaught TypeError: Return value of Source\Models\Sales::findByCode() must be an instance of Source\Models\Sales or null, array returned in
       
      Alguém sabe como resolver isso???
    • By Sapinn
      Olá amigos tudo bem? Estou com um erro de loop de redirecionamento quando tento colocar uma rota de erro. Na minha página index onde eu coloco todas as minhas rotas eu tehno a seguinte rota para erro
      /**  * ERROR ROUTES  */ $route->namespace("Source\App\Error"); $route->group("/ops"); $route->get("/{errcode}", "Error:errors"); /**  * ROUTE  */ $route->dispatch(); /**  * ERROR REDIRECT  */ if ($route->error()) {     $route->redirect("/ops/{$route->error()}"); } Se eu remover esse ultimo if a pagina não da erro mas também não carrega meu metodo. Eu estou usando o composer e estou usando a dependecia do CoffeCode para rotas. Alguém sabe como resolver???
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.