Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 1 da Aula 8 - DAO - Data Access Object

Criei esses códigos na aula que tratava sobre o escape code:

$nome = mysqli_real_escape_string($conexao, $nome); $preco = mysqli_real_escape_string($conexao, $preco); $descricao = mysqli_real_escape_string($conexao, $descricao); $categoria_id = mysqli_real_escape_string($conexao, $categoria_id); $usado = mysqli_real_escape_string($conexao, $usado);

Mas agora estamos passando o arquivo banco-produto para uma classe. Esse código fica antes da declaração da classe, ou após, tendo que referenciar com this-> ?

1 resposta
solução!

Oi Samuel,

Esse código de fazer o escape dos textos pode ficar dentro do método insereProduto, na nova classe ProdutoDao. Algo como:


class ProdutoDao
{

    private $conexao;

    __construct($conexao) {
        $this->conexao = $conexao;
    }


    function insereProduto($produto)
    {
        $nome = mysqli_real_escape_string($this->conexao, $produto->getNome());
        $descricao = mysqli_real_escape_string($this->conexao, $produto->getDescricao());

        $sql = "INSERT INTO produtos(nome, preco, descricao, categoria_id, usado) VALUES('{$nome}', {$produto->getPreco()}, '{$descricao}', {$produto->getCategoria()->getId()}, {$produto->getUsado()})";

        return  mysqli_query($this->conexao, $sql);
    }

}

Bons estudos!

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