Infinite listing with mysqli_fetch_array ()

-1

My code returns the database query, but lists only the last item entered, and lists it infinitely. I wonder where I'm going wrong.

 <?php
//Início da listagem

$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'portfolio';

$COMANDO_SQL = "SELECT *  FROM cliente";    
$link = mysqli_connect($servidor,$usuario,$senha,$banco);
mysqli_query($link,$COMANDO_SQL);

$resultado_listagem = mysqli_fetch_array( mysqli_query($link,$COMANDO_SQL) 
);
//parte superior do documento
?>  
    <?php // parte do documento onde inicia a listagem
    while( $resultado_listagem = mysqli_fetch_array( 
mysqli_query($link,$COMANDO_SQL) ) );
    {
    $CPF_CNPJ = $resultado_listagem['CPF_CNPJ'];    
    $NOME_COMPLETO_RAZAO_SOCIAL = $ 
    resultado_listagem['NOME_COMPLETO_RAZAO_SOCIAL'];   
    $NOME_FANTASIA = $resultado_listagem['NOME_FANTASIA'];  
    $TELEFONE = $resultado_listagem['TELEFONE'];    
    $RUA = $resultado_listagem['RUA'];  
    $BAIRRO = $resultado_listagem['BAIRRO'];    
    $CIDADE = $resultado_listagem['CIDADE'];    
    $ESTADO = $resultado_listagem['ESTADO'];    

?>
    
asked by anonymous 13.09.2017 / 21:53

2 answers

2

The query is done at least twice and nothing is done with the result.

mysqli_query($link,$COMANDO_SQL); //1 vez

$resultado_listagem = mysqli_fetch_array(mysqli_query($link,$COMANDO_SQL)); //2 vez

The other problem is in the while each iteration of the same query is done again because mysqli_fetch_array() takes the result 'zeroed' from mysqli_query($link,$COMANDO_SQL) so the query lines are never exhausted.

while($resultado_listagem = mysqli_fetch_array(mysqli_query($link,$COMANDO_SQL)));

The solution is to do the query only once and store the result and only then pass it to the while. The correct code would look something like:

$COMANDO_SQL = "SELECT *  FROM cliente";   
$result = mysqli_query($link, $COMANDO_SQL) or die(mysqli_error($link));
while($linha = mysqli_fetch_assoc($result)){
  echo $linha['NOME_COMPLETO_RAZAO_SOCIAL'] .'<br>';
}
    
13.09.2017 / 22:27
0
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'portfolio';

$COMANDO_SQL = "SELECT * FROM cliente";
$link = mysqli_connect($servidor,$usuario,$senha,$banco);
$resultado_listagem = mysqli_fetch_array(mysqli_query($link,$COMANDO_SQL));
foreach ($resultado_listagem as $resultado) {
    echo 'CPF_CNPJ: '.$resultado['CPF_CNPJ'].'<br>';
    echo 'NOME_COMPLETO_RAZAO_SOCIAL: '.$resultado['NOME_COMPLETO_RAZAO_SOCIAL'].'<br>';
    echo 'NOME_FANTASIA: '.$resultado['NOME_FANTASIA'].'<br>';
    echo 'TELEFONE: '.$resultado['TELEFONE'].'<br>';
    echo 'RUA: '.$resultado['RUA'].'<br>';
    echo 'BAIRRO: '.$resultado['BAIRRO'].'<br>';
    echo 'CIDADE: '.$resultado['CIDADE'].'<br>';
    echo 'ESTADO: '.$resultado['ESTADO'].'<br>';
}
    
08.05.2018 / 12:10