MySQLPHP

PHP-MySQL: Obtendo o número de linhas de uma consulta (select)

Para trabalhar com o número de linhas do resultado de um select, utilize mysql_num_rows.

Este comando é valido apenas para comandos como SELECT ou SHOW que atualmente retornam um conjunto de resultados. Para obter o número de linhas afetadas por uma consulta INSERT, UPDATE, REPLACE ou DELETE.
fonte: php.net

Veja o exemplo:

<?php
	// variaveis para acesso ao banco de dados
	$servidor = 'localhost';
	$username = 'root';
	$password = '';
	$database = 'lc';
 
	// validando a conexao
	$conexao = mysql_connect($servidor, $username, $password) 
				or die("Erro ao conectar ao banco de dados");
	$db = mysql_select_db($database)
				or die("Erro ao selecionar banco de dados");
 
	// efetuando um select na tabela Produtos
	$select = mysql_query("SELECT codigo, descricao, ativo FROM produtos");
 
        // resultado da consulta (valor inteiro)
	$cont = mysql_num_rows($select);
 
        // se resultado for igual a zero, uma mensagem é exibida
        if ($cont == 0){
		echo "Não existem produtos cadastrados!";
	}else{
		// exibindo o resultado
		echo "<strong>Lista de Produtos</strong>:";
		echo "<br />";	
		while ($rows = mysql_fetch_array($select)){
			echo "<strong>Código</strong>: ".$rows['codigo'];
			echo " - ";
			echo "<strong>Descrição</strong>: ".$rows['descricao'];
			echo "<br />";
		}
	}
?>

4 thoughts on “PHP-MySQL: Obtendo o número de linhas de uma consulta (select)

  • Eu não poderia utilizar um SELECT COUNT(campo) AS TOTAL,NOME,DESCRICAO,VALOR FROM PRODUTOS?
    E usar o result para trazer TOTAL?

    Resposta
    • Olá Gilberto.

      Bem lembrado. Podemos utilizar sim SELECT COUNT, com esse select teremos o mesmo resultado.

      Complementando: segundo especialistas, o SELECT COUNT é mais rápido do que mysql_num_rows ao exibir o resultado.

      Resposta
  • edno

    Parabéns. Foi dificil achar essa dica tão simples

    Resposta

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *