Artigo Diretório
- 1 Dados de consulta do MySQL
- 2 Obter dados via prompt de comando
- 3 Leia a ficha técnica:
- 4 Use script PHP para obter dados
- 5 Use o parâmetro mysqli_fetch_array MYSQL_ASSOC para buscar dados:
- 6
- 7 Use mysqli_fetch_assoc para buscar dados:
- 8 Use o parâmetro mysqli_fetch_array MYSQL_NUM para buscar dados:
- 9 liberação de memória
- 10 Memória livre com mysqli_free_result:
banco de dados MySQLComo consultar os dados na tabela?Instrução de consulta/comando/sintaxe
MySQL Consultar dados
Os bancos de dados MySQL usam instruções SQL SELECT para consultar dados.
Você pode consultar dados no banco de dados por meio da janela do prompt de comando mysql> ou por meio de um script PHP.
gramática
A seguir está a sintaxe SELECT geral para consultar dados em um banco de dados MySQL:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- Na instrução de consulta, você pode usar uma ou mais tabelas, separar as tabelas com vírgulas (,) e usar a instrução WHERE para definir as condições de consulta.
- O comando SELECT pode ler um ou mais registros.
- Você pode usar um asterisco (*) para substituir outros campos, a instrução SELECT retornará todos os dados de campo da tabela
- Você pode usar a instrução WHERE para incluir qualquer condição.
- Você pode especificar o deslocamento de dados no qual a instrução SELECT inicia a consulta com OFFSET.Por padrão, o deslocamento é 0.
- Você pode usar a propriedade LIMIT para definir o número de registros retornados.
Obter dados via prompt de comando
No exemplo a seguir, usaremos o comando SQL SELECT para obter os dados da tabela de dados MySQL chenweiliang_tbl:
Instância
O exemplo a seguir retornará todos os registros da tabela de dados chenweiliang_tbl:
Leia a ficha técnica:
select * from chenweiliang_tbl;
Use script PHP para obter dados
usando funções PHP mysqli_query() E SELEÇÃO SQL comando para obter os dados.
Esta função é usada para executar comandos SQL e depois passar funções PHP mysqli_fetch_array() para usar ou gerar dados para todas as consultas.
mysqli_fetch_array() A função busca uma linha do conjunto de resultados como um array associativo, ou um array de números, ou ambos. Retorna um array gerado a partir das linhas buscadas no conjunto de resultados, ou false se não houver mais linhas.
O exemplo a seguir lê todos os registros da tabela de dados chenweiliang_tbl.
Instância
Tente o exemplo a seguir para exibir todos os registros da tabela de dados chenweiliang_tbl.
Use o parâmetro mysqli_fetch_array MYSQL_ASSOC para buscar dados:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQL_ASSOC)) { echo "<tr><td> {$row['chenweiliang_id']}</td> ". "<td>{$row['chenweiliang_title']} </td> ". "<td>{$row['chenweiliang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
No exemplo acima, cada linha de registros lidos é atribuída à variável $row e, em seguida, cada valor é impresso.
Nota:Lembre-se que se você precisar usar uma variável em uma string, coloque a variável entre chaves.
No exemplo acima, o segundo parâmetro da função PHP mysqli_fetch_array() é MYSQL_ASSOC, defina este parâmetro para consultar o resultado para retornar uma matriz associativa, você pode usar o nome do campo como o índice da matriz.
PHP fornece outra função mysqli_fetch_assoc(), a função recebe uma linha do conjunto de resultados como uma matriz associativa.Retorna uma matriz associativa gerada a partir das linhas retiradas do conjunto de resultados ou false se não houver mais linhas.
Instância
Tente o exemplo a seguir, que usa mysqli_fetch_assoc() função para gerar todos os registros da tabela de dados chenweiliang_tbl:
Use mysqli_fetch_assoc para buscar dados:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_assoc($retval)) { echo "<tr><td> {$row['chenweiliang_id']}</td> ". "<td>{$row['chenweiliang_title']} </td> ". "<td>{$row['chenweiliang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
Você também pode usar a constante MYSQL_NUM como o segundo parâmetro da função PHP mysqli_fetch_array(), que retorna um array de números.
Instância
Os exemplos a seguir usam MYSQL_NUM O parâmetro exibe todos os registros da tabela de dados chenweiliang_tbl:
Use o parâmetro mysqli_fetch_array MYSQL_NUM para buscar dados:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQL_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1]} </td> ". "<td>{$row[2]} </td> ". "<td>{$row[3]} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
Os resultados de saída dos três exemplos acima são os mesmos.
liberação de memória
É uma boa prática liberar a memória do cursor depois de executar uma instrução SELECT.
A memória pode ser liberada através da função PHP mysqli_free_result().
O exemplo a seguir demonstra o uso dessa função.
Instância
Tente os seguintes exemplos:
Memória livre com mysqli_free_result:
<? php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn , "set names utf8"); $sql = 'SELECT chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>'; echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQL_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1]} </td> ". "<td>{$row[2]} </td> ". "<td>{$row[3]} </td> ". "</tr>"; } echo '</table>'; // 释放内存 mysqli_free_result($retval); mysqli_close($conn); ?>
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartilhado "Como o banco de dados MySQL consulta os dados na tabela?Query Statement/Command/Syntax" para ajudá-lo.
Bem-vindo a compartilhar o link deste artigo:https://www.chenweiliang.com/cwl-461.html
Bem-vindo ao canal Telegram do blog de Chen Weiliang para receber as últimas atualizações!
📚 Este guia contém um valor enorme, 🌟Esta é uma oportunidade rara, não perca! ⏰⌛💨
Compartilhe e curta se gostar!
Seus compartilhamentos e curtidas são nossa motivação contínua!