English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial PHP Básico

Tutorial PHP Avançado

PHP & MySQL

Manual de Referência PHP

Leitura de Dados MySQL PHP

Neste tutorial, você aprenderá como usar o PHP para ler registros de uma tabela MySQL.

Ler dados do banco de dados

Até agora, você já aprendeu como criar um banco de dados e uma tabela e como inserir dados. Agora é hora de recuperar os dados inseridos no tutorial anterior. SQL SELECTA declaração é usada para ler registros da tabela do banco de dados. Sua sintaxe básica é a seguinte:

SELECT column1_name, column2_name, columnN_name FROM table_name ;

Vamos usar a declaração SELECT para fazer uma consulta SQL, e em seguida, executaremos a consulta SQL passando para a função mysqli_query() do PHP para recuperar os dados da tabela.

Veja nossaspersonsBanco de dados tem os seguintes registros:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email  |
+----+------------+-----------+----------------------+
|}}  1 | Peter  | Parker  | [email protected] |
|}}  2 | John  | Rambo  | [email protected]  |
|}}  3 | Clark  | Kent  | [email protected]  |
|}}  4 | John  | Carter  | [email protected]  |
|}}  5 | Harry | Potter | [email protected] |
+----+------------+-----------+----------------------+

O código PHP do exemplo a seguir escolhe todos os dados armazenados na tabela "persons" (usando o caractere de asterisco "*" como nome da coluna).*) para escolher todos os dados da tabela.

Exemplo: Método procedimental

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando o MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//Verifique a conexão
if($link === false){
    die(\
}
 
//Tente executar uma consulta de seleção n
$sql = "SELECT * FROM persons";
if($result = mysqli_query($link, $_sql)){
    if(mysqli_num_rows($result) > 0){
        echo "<table>";
            echo "<tr>";
                echo "<th>id</th>";
                echo "<th>first_name</th>";
                echo "<th>last_name</th>";
                echo "<th>email</th>";
            echo "</tr>";
        while($row = mysqli_fetch_array($result)){
            echo "<tr>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['first_name'] . "</td>";
                echo "<td>" . $row['last_name'] . "</td>";
                echo "<td>" . $row['email'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        // Liberar conjunto de resultados
        mysqli_free_result($result);
    } else{
        echo ". Não foi encontrado nenhum registro correspondente à sua consulta.";
    }
} else{
    echo \
}
 
//Fechar conexão
mysqli_close($link);
?>

Exemplo: Método orientado a objetos

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando o MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Verifique a conexão
if($mysqli === false){
    die(\->connect_error);
}
 
//Tente executar a consulta de seleção
$sql = "SELECT * FROM persons";
if($_result = $mysqli->query($_sql));
    if($result->num_rows > 0);
        echo "<table>";
            echo "<tr>";
                echo "<th>id</th>";
                echo "<th>first_name</th>";
                echo "<th>last_name</th>";
                echo "<th>email</th>";
            echo "</tr>";
        while($row = $result->fetch_array());
            echo "<tr>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['first_name'] . "</td>";
                echo "<td>" . $row['last_name'] . "</td>";
                echo "<td>" . $row['email'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        //Liberar conjunto de resultados
        $result->free();
    } else{
        echo ". Não foi encontrado nenhum registro correspondente à sua consulta.";
    }
} else{
    echo \->error;
}
 
//Fechar conexão
$mysqli->close();
?>

Exemplo: Método PDO

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando o MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", \
    //Definir o modo de erro PDO como exceção
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("Erro: Não foi possível conectar. ". $e->getMessage());
}
 
//Tente executar a consulta de seleção
try{
    $sql = "SELECT * FROM persons";   
    $result = $pdo->query($sql);
    if($result->rowCount() > 0){
        echo "<table>";
            echo "<tr>";
                echo "<th>id</th>";
                echo "<th>first_name</th>";
                echo "<th>last_name</th>";
                echo "<th>email</th>";
            echo "</tr>";
        while($row = $result->fetch()){
            echo "<tr>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['first_name'] . "</td>";
                echo "<td>" . $row['last_name'] . "</td>";
                echo "<td>" . $row['email'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        //Liberar conjunto de resultados
        unset($result);
    } else{
        echo ". Não foi encontrado nenhum registro correspondente à sua consulta.";
    }
} catch(PDOException $e){
    die("Erro: Não foi possível executar $sql. ". $e->getMessage());
}
 
//Fechar conexão
unset($pdo);
?>

Uso do código (estilo de programação)

No exemplo acima, os dados retornados pela função mysqli_query() são armazenados na variável $result. A cada chamada de mysqli_fetch_array(), ela retorna a próxima linha da coleção de resultados como um array.loop whileusado para percorrer todas as linhas da coleção de resultados. Finalmente, pode-se passar o índice ou o nome do campo para a variável $row (por exemplo, $row['id'] ou $row[0], $row['first_name'] ou $row [1para acessar o valor de um campo individual da linha.$row['last_name'] ou $row[2para acessar o valor de um campo individual da linha.$row['email'] ou $row[3para acessar o valor de um campo individual da linha.]

Se precisar usarloop forPode-se obter o valor do contador de loop ou o número de linhas retornadas pela consulta, passando o variável $result para a função mysqli_num_rows(). Este valor do contador de loop determina quantas vezes o loop deve ser executado.