2
respostas

Erro ao carregar os dados do DB

Bom dia, está ocorrendo o seguinte erro: Fatal error: Uncaught ArgumentCountError: Too few arguments to function Artigo::construct(), 0 passed in C:\xampp\htdocs\phpweb-master\index.php on line 6 and exactly 1 expected in C:\xampp\htdocs\phpweb-master\Artigo.php:8 Stack trace: #0 C:\xampp\htdocs\phpweb-master\index.php(6): Artigo->construct() #1 {main} thrown in C:\xampp\htdocs\phpweb-master\Artigo.php on line 8

Segue o código do arquivo Artigo.php que estou usando aqui

<?php


    class Artigo {

        private $mysql;

        public function __construct(mysqli $mysql){
            $this->mysql = $mysql;
        }

        public function exibirTodos(): array {

            $resultado = $this->mysql->query('SELECT id, titulo, conteudo FROM artigos');


            $artigos = $resultado->fetch_all(MYSQLI_ASSOC);

            return $artigos;
        }
    }




?>
2 respostas

Aqui está a pasta do GitHub com os códigos completos: https://github.com/lucasalbu12/aluraphpWebmaster

Olá, Lucas. Tudo bem?

Primeiramente gostaria de pedir desculpas pela demora em responder a sua dúvida.

O erro Fatal error: Uncaught ArgumentCountError: Too few arguments to function Artigo::construct() nos diz que o construtor da classe Artigo esperava receber mais argumentos. Neste caso, esperava receber 1 argumento (mysqli $mysql), você não mostrou o seu arquivo index.php. Mas eu acredito que você precise passar este parâmetro quando for criar a classe. Uma possível solução é você adicionar a expressão abaixo no arquivo index.php:

$mysql = new mysqli('localhost',"root","1234","blog");
$mysql->set_charset("utf8");

$artigo  = new Artigo($mysql)

Espero ter ajudado, bons estudos :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software