Cláusula WHERE do PHP MySQL
Como selecionar e filtrar dados de um banco de dados MySQL usando PHP no XAMPP
Neste guia, discutiremos como selecionar os registros de um banco de dados MySQL com base em condições específicas com a cláusula WHERE e o comando SELECT usando PHP na pilha XAMPP.
Pré-requisitos
Certifique-se de ter criado um banco de dados e uma tabela na pilha XAMPP conforme descrito no guia a seguir.
- Criar banco de dados e tabela MySQL usando PHP no XAMPP
Para fins de demonstração, criei uma tabela chamada "vendas" em um banco de dados MySQL chamado "minha_empresa" com o esquema e os registros abaixo.
Esquema e registros do banco de dados
Filtrando dados da tabela MySQL com cláusula WHERE usando PHP
A cláusula WHERE é usada para extrair apenas os registros que correspondem a uma condição específica. A cláusula WHERE verificará a condição usando um operador seguido de um valor.
Sintaxe da cláusula WHERE:
SELECT column1,column2,.,column n from table_name WHERE column_name operator value;
Onde,
column_name
- a coluna na qual a condição é aplicada.operador
- É usado para verificar a condição.valor
- É o valor string/numérico comparado com cada valor de coluna presente na tabela.
Passos
1. Especifique o nome do servidor (por exemplo, localhost), o nome de usuário do banco de dados (por exemplo, root
), a senha do usuário root e o nome do banco de dados (por exemplo, minha_empresa). Aqui, a senha do meu usuário root
está vazia.
2. Estabeleça uma conexão usando a função mysqli_connect()
. Levará nome do servidor, nome de usuário e senha como parâmetros.
Código:
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
3. Especifique a Consulta SQL para selecionar uma coluna específica ou todos os registros de colunas da tabela por uma condição. Nesta etapa, podemos especificar a consulta SQL para selecionar colunas da tabela em uma variável.
Por exemplo, vou usar o nome do banco de dados chamado minha_empresa e armazená-lo em uma variável chamada query. O nome da tabela é vendas que possui três colunas.
Código:
$query = "SELECT column1,…. from sales where column_name operator value";
4. Armazene os resultados selecionados em uma variável chamada "final" usando a função mysqli_query()
. Levará "conexão" e "consulta" como parâmetros.
Código:
mysqli_query($connection, $query);
5. Obtenha as linhas uma por uma da variável "final" usando a função mysqli_num_rows()
. Depois disso, busque os resultados iterando através de um loop while
usando a função mysqli_fetch_assoc()
. Ele usará a variável "final
" como parâmetro.
Código:
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
echo $i["column1”],…………..;
}
} else {
echo "No results";
}
6. Finalmente, feche a conexão usando a função mysqli_close()
.
Código:
mysqli_close($connection);
Agora, vamos escrever um exemplo de código PHP com base nas etapas acima.
Código PHP para selecionar dados do banco de dados MySQL usando a cláusula WHERE
Código de exemplo 1:
Neste exemplo, selecionaremos todas as colunas da tabela "vendas" onde o valor do id é maior que 4 e exiba o resultado em uma página PHP.
Portanto, nosso operador será maior que (">") e o valor será 4 especificando o column_name
como id.
Crie um novo arquivo chamado select.php
na pasta /htdocs
com o seguinte conteúdo.
Atenção: se você usa Linux, a pasta htdocs estará no diretório /opt/lampp/
. Se você estiver no Windows, os htdocs estarão normalmente na pasta C:\xampp\.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";
//specify the username - here it is root
$user_name = "root";
//specify the password - it is empty
$password = "";
//specify the database name - "my_company"
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
//sql query to select particular columns
//select all columns such that id is greater than 4
$query = "SELECT * from sales where id>4";
#get the result
$final = mysqli_query($connection, $query);
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
//get all columns
echo "id: " . $i["id"]. " ----> name: " . $i["name"]." ----> count: " . $i["count"]. "<br>";
}
} else {
echo "No results";
}
//close the connection
mysqli_close($connection);
?>
Abra seu navegador e aponte-o para o URL http://localhost/select.php. Você pode ver que os dados são selecionados onde id é maior que 4 e o resultado é exibido na janela do navegador.
Selecione dados do banco de dados MySQL usando a cláusula WHERE
Código de exemplo 2:
Neste exemplo, selecionaremos todas as colunas da tabela "vendas" com o nome como "Ovos" e exibir o resultado na página PHP.
Portanto nosso operador será igual a ("=") e o valor será "Ovos" especificando o column_name
como nome.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";
//specify the username - here it is root
$user_name = "root";
//specify the password - it is empty
$password = "";
//specify the database name
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
//sql query to select particular columns
//select all columns such that name equals to Eggs
$query = "SELECT * from sales where name ='Eggs'";
#get the result
$final = mysqli_query($connection, $query);
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
//get all columns
echo "id: " . $i["id"]. " ----> name: " . $i["name"]." ----> count: " . $i["count"]. "<br>";
}
} else {
echo "No results";
}
//close the connection
mysqli_close($connection);
?>
Abra seu navegador e aponte-o para o URL http://localhost/select.php. Você pode ver que os dados são selecionados onde name ='Eggs' e exibidos.
Selecione as colunas que contêm o nome Eggs
Código de exemplo 3:
Neste exemplo, selecionaremos todas as colunas da tabela "vendas" com contando como 45 e exibir o resultado na página PHP.
Portanto, nosso operador será igual a ("=") e o valor será 45 especificando o nome_da_coluna como count.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";
//specify the username - here it is root
$user_name = "root";
//specify the password - it is empty
$password = "";
//specify the database name
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
//sql query to select particular columns
//select all columns such that count is 45
$query = "SELECT * from sales where count =45";
#get the result
$final = mysqli_query($connection, $query);
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
//get all columns
echo "id: " . $i["id"]. " ----> name: " . $i["name"]." ----> count: " . $i["count"]. "<br>";
}
} else {
echo "No results";
}
//close the connection
mysqli_close($connection);
?>
Abra seu navegador e aponte-o para o URL http://localhost/select.php. Você pode ver que os dados são selecionados onde count=45 e a coluna resultante é exibida.
Selecione as colunas que contêm a contagem 45
Conclusão
Neste tutorial, discutimos três maneiras diferentes de selecionar dados de um banco de dados MySQL com base em condições específicas usando PHP com cláusula WHERE. O primeiro exemplo mostrou como filtrar os dados usando o valor numérico “id”. O segundo e o terceiro exemplos explicaram como selecionar dados usando o valor de string "nome" e o valor numérico "contagem", respectivamente.