Call to a member function fetch() on boolean on line 21
Prezados bom dia,
acredito que esta pergunta foi respondida anteriormente, me perdoe pois preciso aprender para entender.. encontro dificuldades para resolver este erro descrito no titulo desta pergunta. segue o código abaixo:
Não entendo e compreendo onde está o erro para resolver, prezados podem me ajudar por favor?
um forte abraço para todos.
acredito que esta pergunta foi respondida anteriormente, me perdoe pois preciso aprender para entender.. encontro dificuldades para resolver este erro descrito no titulo desta pergunta. segue o código abaixo:
3 Class saciab{ 4 5 private $pdo; 6 public function __construct($dbname, $host, $user, $senha) 7 { 8 try{$this->pdo = new PDO("mysql:dbname=".$dbname.";host=".$host,$user,$senha);} 8 catch (PDOException $saciab) {echo "Erro com banco de dados ".$saciab->getMessage(); exit();} 10 catch (PDOException $saciab) {echo "Erro genérico ". $saciab->getMessage();} 11 } 12 13 // CCA.PHP 14 //Cadastro de Empresa// 15 public function cad_empresa ($rc,$cnpj_novo,$empresa,$natureza, $segmento,$funcionarios,$socios, $cep_novo,$endereco,$numero, $bairro,$municipio,$uf, $referencia,$telefone_emp_novo,$dt_abertura,$i_municipal,$i_estadual,$v_sanit) 16 { 17 global $pdo; 18 $cmd = array(); 19 $cmd = $this->pdo->query("INSERT INTO empresa ( rc ,cnpj ,empresa ,natureza ,segmento ,funcionarios ,socios,empresa_cep,empresa_endereco,empresa_numero,empresa_bairro,empresa_municipio,empresa_uf,empresa_referencia,empresa_telefone ,abertura ,i_municipal ,i_estadual ,v_sanit) 20 VALUES ('$rc','$cnpj_novo','$empresa','$natureza','$segmento','$funcionarios','$socios','$cep_novo','$endereco' ,'$numero' ,'$bairro' ,'$municipio' ,'$uf' ,'$referencia','$telefone_emp_novo','$dt_abertura','$i_municipal','$i_estadual','$v_sanit')"); 21 $res = $cmd->fetch(PDO::FETCH_ASSOC); return true; }
Não entendo e compreendo onde está o erro para resolver, prezados podem me ajudar por favor?
um forte abraço para todos.
Leonardo
Curtidas 0
Melhor post
Fellipe Tavares
13/03/2020
Fala, Leonardo!
Acredito que esteja tentando recuperar com a variável " $res " as colunas obtidas na consulta SQL. Se esse for seu objetivo, basta remover o PDO::FETCH_ASSOC que você passa em " fetch() ". Uma dica é consultar a documentação do PHP, pois algumas funções foram sofrendo alterações com novas versões, e algumas coisas implementadas seguem versões antigas.
Caso sua dúvida continue, comente novamente.
Abraços!
Acredito que esteja tentando recuperar com a variável " $res " as colunas obtidas na consulta SQL. Se esse for seu objetivo, basta remover o PDO::FETCH_ASSOC que você passa em " fetch() ". Uma dica é consultar a documentação do PHP, pois algumas funções foram sofrendo alterações com novas versões, e algumas coisas implementadas seguem versões antigas.
Caso sua dúvida continue, comente novamente.
Abraços!
GOSTEI 1
Mais Respostas
Lucas Lima
11/03/2020
Opa Leonardo, o erro está em que após executar PDO->QUERY com a query INSERT INTO, a query é executada diretamente. Além de que o comando fetch é utilizado somente para a query SELECT para atribuir os valores da busca de uma forma específica a variável.
Então, caso queira validar se a saída foi TRUE, crie uma condicional com a variável que recebe o insert, no seu caso if($cmd==true)
Então, caso queira validar se a saída foi TRUE, crie uma condicional com a variável que recebe o insert, no seu caso if($cmd==true)
GOSTEI 0