1
I am performing a basic query in the bank, using the following code:
public function searchAllProducts(){
$array = array();
$select = $this->connection->prepare("Select * from tb_produto");
$select->setFetchMode(PDO::FETCH_ASSOC);
$select->execute();
$produtos = $select->fetchAll();
foreach ($produtos as $produto) {
$product = new Produto($produto['IDProduto'], $produto['NomeProduto'], $produto['PrecoProduto'], $produto['DTValProduto'], $produto['QtdProduto'], $produto['DescricaoProduto']);
array_push($array, $product);
}
return $array;
}
The problem is that when I transform the array into json, using the json_encode
, in this way:
require_once '../connection.php';
require_once '../class/ProdutoDAO.php';
$dao = new ProdutoDAO($connection);
$produtos = $dao->searchAllProducts();
//var_dump($produtos);
$json = json_encode($produtos);
echo $json;
This returns to me [{},{}]
.
OBS: The array is filled, when I give one
var_dump($produtos)
, is shown the products as expected.
Produto()
is a class with private attributes and gets to access them?– rray
Place what you have inside the return array
– Luciano Marqueto