English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá como usar o PHP para ler registros de uma tabela MySQL.
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.
<?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); ?>
<?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(); ?>
<?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); ?>
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.